Resume permet, dans un traitement d'erreur ou d'interruption, de revenir à l'instruction suivant celle qui a provoqué le déroutement.
# Ouverture d'un fichier séquentiel avec gestion des erreurs (Il
# aurait aussi été possible de tester l'existence du fichier avec la
# fonction filinfo).
FLAG_ERREUR = 0
Onerrgo PB_OUVERTURE :# en cas d'erreur aller à l'étiquette
Openi filpath("TXT","TEXTE","txt") :# ouverture du fichier
Onerrgo :# plus de branchement sur erreur
If FLAG_ERREUR
End :# arrêt si une erreur s'est produite;
Endif
#... suite du traitement ...
End
#
# Routine de gestion d'erreur
PB_OUVERTURE
Errbox "Problème d'ouverture du fichier en ligne "-num$(errl)
Errbox "Erreur no "-num$(errn)-":"-errmes$(errn)
FLAG_ERREUR = errn
Resume :# retour à la ligne suivant l'erreur
# Sur appui de la touche d'interruption, l'exécution du traitement
# se déroute sur l'étiquette LECTURE.
Onintgo LECTURE :# déroutement en cas d'interruption
Inter :# le traitement est interruptible
For [LNS]CLE(1)
For [LNS]CLE
Infbox num$(ZV)
Next
Infbox num$(TOTAL)
Next
End
#
# Traitement de l'interruption
LECTURE
Call VERIF([ABV]CHAMP) From GESINTER
Resume
Resume, qui termine un traitement d'erreur ou d'interruption, permet la reprise du traitement à l'instruction suivant celle où s'est produite l'erreur ou l'interruption.
Le déroutement sur erreur est rendu possible par la déclaration Onerrgo, qui définit l'étiquette où commence le traitement d'erreur. De la même façon, le déroutement sur interruption est possible grâce à l'instruction Onintgo.
L'instruction de retour après un Resume est celle qui suit séquentiellement l'instruction où s'est produite l'erreur ou l'interruption. Pour les instructions de contrôle, on obtient les endroits de retour suivants :
Lorsqu'une instruction End est utilisée pour terminer un traitement de gestion des erreurs plutôt qu'un Resume, le traitement ayant généré une erreur sera interrompu.
La liste des erreurs et des codes d'erreurs est référencée dans les annexes du manuel de programmation.