ON ERROR GOTO
Définition d'une interruption sur erreur
ON ERROR GOTO numéro de_ligne
ON ERROR définit une interruption de traitement d'erreur.
Après 1'exécution de cette commande, si une erreur se produit
autre part dans le programme, le BASIC saute immédiatement au
numéro de ligne. En règle générale, la routine commençant au
nûmerô"~dê~ïïgné traite l'erreur d'une façon quelconque, A la
fin~5ë~îâ"routïne, vous devez soit terminer la routine {STOP
ou END) ou retourner au programme avec RESUME. Voyez les com-
mandes STOP, END et RESUME pour davantage de détails.
Exemple :
100 ON ERROR GOTO 1 0 0 0
200 X = 1 0 0 0 0 / Y
*
300 X = 300 / Y
1000 IF ERRO11 THEN PRINT
"Error Code";ERR;"in line ";ERL :
STOP
ELSE X=10000:
RESUME NEXT
Si une erreur se produit, le BASIC saute à la ligne 100O. Si
l'erreur est une division par zéro (erreur n° 11), X est mis
à une haute valeur, 1OOOO, et 1'exécution revient à la ligne
qui suit la ligne dans laquelle l'erreur s'est produite, soit
la ligne 2OO, soit la ligne 3OO. Si une autre erreur se pro-
duit, le BASIC imprime le message et arrête l'exécution.
ON KEY GQ5UB
Définition d 'une interruption sur touche de fonction
ON KEY GOSUB liste de numéros_de_ligne
Cette instruction définit les interruptions sur les touches
de fonction. Après l'exécution de cette commande, le fait de
presser la nième touche de fonction indique au BASIC qu'il
doit sauter au nième numéro de ligne dans la liste des numéros
de_ligne. Vous pouvez définir autant de touchis~dë~fônctîon
que vous le désirez : le BASIC ignore la frappe de touches non
définies.
(Note : Vous devez valider les touches de fonction avant qu'
elles ne puissent interrompre le programme. Voyez la commande
KEY ON pour davantage de détails.)
Exemple :
10 ON KEY GOSUB 1000,2000,3000,5000
définit une sous-routine d'interruption pour la touche de fonc-
tion 1, commençant à la ligne 1OOO, une sous-routine d'inter-
ruption pour la touche de fonction 2, commençant à la ligne
2000, une sous-routine d'interruption pour la touche de fonc-
tion 3, commençant à la ligne 3OOO et une routine d'interrup-
- 146 -