Appelez ON ERROR sans aucun parametre comme ceci, ou forcez-le a aller a zero, comme cela :
X> On Error Goto 0
Pour revenir a votre programme apres qu un ON ERROR a ete appele, vous devez utiliser RESUME. N utilisez jamais GOTO a cet effet.
RESUME
structure : reprendre l execution du programme apres une routine de gestion d erreur
Resume
Resume Next
Resume nom_etiquette
Resume numero_ligne
Utilise seul, RESUME reviendra a l instruction qui a cause l erreur et tentera de l executer a nouveau. Pour revenir a l instruction immediatement apres celle ayant provoque l erreur, utilisez RESUME NEXT. Alternativement, pour sauter a un point precis du programme principal, ajoutez simplement une reference a une etiquette ou un numero de ligne.
ON ERROR PROC
structure : intercepter une erreur via une procedure
On Error Proc nom
Les erreurs peuvent egalement etre interceptees en utilisant une procedure. ON ERROR PROC selectionne une procedure nommee qui sera automatiquement appelee en cas d erreur dans le programme principal. Il s agit en fait d une version structuree de la commande ON ERROR GOTO. Dans ce cas, votre procedure doit se terminer par END PROC comme d habitude, puis revenir au programme principal avec un appel supplementaire a RESUME, que vous pouvez placer juste avant le END PROC. Voici un exemple :
E> On Error Proc AIDE Do Input "Tapez deux nombres";A,B Print A;" divise par ";B;" est ";A/B Loop Rem Gestion d erreur Procedure AIDE Print Print "Desole, vous avez tente de diviser" Print "votre nombre par zero." Resume Next: Rem Retour a la saisie End Proc
Si vous utilisez une procedure pour gerer les erreurs, et que vous souhaitez sauter vers une etiquette particuliere, un marqueur special doit etre place a l interieur de cette procedure. Cela est realise avec la structure RESUME LABEL.