Lorsque vous exécutez un programme qui contient une erreur, un message d'erreur inclut souvent la ligne sur laquelle l'erreur s'est produite et donne une explication de l'erreur. Les messages d'erreur peuvent résulter d'erreurs de syntaxe ou de calcul.
Exemple
Le programme suivant présente une erreur de syntaxe.Figure 1 : Exemple de programme comportant une erreur de syntaxe
/************************** REXX **********************************/
/* This REXX program contains a deliberate error of not closing */
/* a comment. Without the error, it would pull input to produce */
/* a greeting. */
/******************************************************************/
PULL who /* Get the person's name.
IF who = '' THEN
SAY 'Hello, stranger'
ELSE
SAY 'Hello,' who
Lorsque le programme s'exécute, le processeur de langage envoie les lignes de sortie suivantes.
7 +++ PULL who /* Get the person's name.IF who =
'' THEN SAY 'Hello, stranger'ELSE SAY 'Hello,' who
CICREX453E Error 6 running HELLO EXEC, line 7: Unmatched "/*" or quote
Le programme s'exécute jusqu'à ce que le processeur de langage détecte l'erreur, l'absence de */ à la fin du commentaire. L'instruction PULL n'utilise pas les données de la pile de données ou du terminal car cette ligne contient une erreur de syntaxe. Le programme se termine et le processeur de langue envoie les messages d'erreur.
Le premier message d'erreur commence par le numéro de ligne de l'instruction où le processeur de langage a détecté l'erreur. Trois plus ( +++ ) et le contenu de l'énoncé suivent.
7 +++ PULL who /* Get the person's name.IF who =
'' THEN SAY 'Hello, stranger'ELSE SAY 'Hello,' who
Le deuxième message d'erreur commence par le numéro du message. Un message contenant le nom du programme, la ligne où le processeur de langue a trouvé l'erreur et une explication de l'erreur suit.
CICREX453E Error 6 running HELLO EXEC, line 7: Unmatched
"/*" or quote
Pour corriger l'erreur de syntaxe dans ce programme, ajoutez */ à la fin du commentaire de la ligne 7.