ONINTGO |
Onintgopermet dans un traitement de déclarer une étiquette où se déroutera l'exécutiondu traitement sur appui de la touche d'interruption.
Onintgo[ étiquette] [ From
Elément | Description | Restrictions |
Etiquette de branchement en casd'interruption. | Aucune. | |
Traitement dans lequel est définiel'étiquette (par défaut, il s'agit du traitement courant), sous l'une desformes suivantes : | Le traitement doit être accessible. | |
Expression alphanumérique dont lerésultat est un nom de traitement. | Le traitement doit être accessible. |
# Sur appui de la touched'interruption, l'exécution du traitement
# se déroute sur l'étiquette LECTURE.
# Le traitement est interruptible
Inter
# sur <INTERRUPTION>, alleren LECTURE
For [LNS]CLE(1)
For [LNS]CLE
Infbox num$(ZV)
Next
Infbox num$(TOTAL)
Next
End
#
# traitement de l'interruption
LECTURE
Call VERIF FromGESINTER
Resume
Onintgopermet de définir une étiquette où se déroute l'exécution d'un traitement surappui de la touche d'interruption. Si une interruption est déclenchée aprèsl'ordre Onintgo,la partie de traitement qui suit l'étiquette est exécutée.
Dans le traitement de l'interruption, la fonction errl contient le numéro deligne du traitement où l'interruption a été déclenchée.
Un traitement d'interruption se termine soit par Resume, soit par End. Dansle premier cas, l'exécution du traitement interrompu reprendra à l'instructionsuivant celle où s'est produit l'interruption. Dans le deuxième cas, letraitement est interrompu de façon définitive.
L'interruption se déclenche à condition :
On peut définir l'étiquette appelée par
Onintgosans étiquette supprime la référence à une étiquette en cas d'interruption; parla suite, tout déroutement devient impossible.
Une déclaration Onintgoreste valide tant que l'on ne quitte pas le traitement.
Dès qu'une gestion des interruptions est faite dans un traitement, elle agitaussi dans chaque sous-programme appelé par Call. Cependant, si unsous-programme ne comporte pas d'
Le traitement de gestion d'interruption ne peut en aucun cas terminer unetransaction, que ce soit par Commit ou par Rollback, car il ne peut être dumême niveau de localité que le traitement qui l'a initié.
S'il y a une transaction en cours au moment où l'interruption est confirmée,elle est annulée automatiquement si le traitement se termine par End.L'utilisateur en sera averti.
PAFIC(20) | Traitementinexistant. |
ERLAB(39) | Etiquetteinexistante (dans la syntaxe " |
ERMODE(10) | exp_nomtrtn'est pas de type Char. |
INTER - RESUME - END - ERRL - CALL
Adonix X3(r) L4G |