GET_MSG_TXT

Fonction de script : Récupère le texte du message de la dernière erreur survenue.

Syntaxe

GET_MSG_TXT (Number [,Insert])

Syntaxe

Description / format

Number

Numéro de l'erreur
Format : variable de script ou nombre

Le numéro d'erreur est également renvoyé par la fonction de script SYS_LAST_ERR_NR.

Insert

Partie variable du message d'erreur (texte)
Format : littéral de script ou variable de script

La partie variable du message d'erreur est également renvoyée par la fonction de script SYS_LAST_ERR_INS.


Codes retour

Texte du message de la dernière erreur survenue.
" " : aucune erreur n'est survenue.

Dans certains éléments de script, vous pouvez utiliser :ON_ERROR pour poursuivre le traitement du script malgré des erreurs. Dans ce cas, le message d'erreur peut être récupéré par la fonction GET_MSG_TXT.

Le texte du message est récupéré sur la base du numéro et de la partie variable du message d'erreur Insert. Vous pouvez récupérer préalablement le numéro d'erreur avec SYS_LAST_ERR_NR, et la partie variable du message d'erreur avec SYS_LAST_ERR_INS. La fonction de script GET_MSG_TXT utilise ces informations et les textes d'erreur pour composer le message d'erreur AE complet.

Le paramètre Insert n'est pas requis si le texte du message ne comporte aucune partie variable. C'est notamment le cas des textes de statut dont vous pouvez lire le numéro à l'aide de la fonction GET_STATISTIC_DETAIL.

Exemple

L'exemple suivant illustre la vérification de la capacité mémoire d'un lecteur inexistant. Dans ce cas, une erreur se produit. Le numéro d'erreur et la partie variable du message d'erreur sont lus. Ces informations permettent de récupérer le message d'erreur AE complet et de l'envoyer sous forme de message à l'utilisateur.

:SET &CHECK# = GET_FILESYSTEM("WIN21", "Z:\", FILESYSTEM_SPACE_TOTAL)
:
SET &ERRNR# = SYS_LAST_ERR_NR()
:
SET &ERRINS# = SYS_LAST_ERR_INS()
:
SET &MESSAGE# = GET_MSG_TXT(&ERRNR#,&ERRINS#)
:
SEND_MSG BU,BU,&MESSAGE#

Le deuxième exemple récupère le texte du statut d'une tâche.

:SET &STATUS# = GET_STATISTIC_DETAIL(&RUNNR#, STATUS)
:
SET &TEXT# = GET_MSG_TXT(&STATUS#)
:
PRINT &TEXT#

La sortie pourrait ressembler à ce qui suit :

ENDED_CANCEL - manually canceled.

Voir aussi :

voiraussi

Éléments de script pour la gestion des erreurs