Traitement des erreurs
Lorsqu'une erreur se produit dans une fonction SPEL+, vous pouvez faire en sorte que l'exécution soit transférée à une routine de gestion des erreurs pour traitement. La routine doit se trouver à l'intérieur d'une définition de fonction.
Le tableau de la page suivante affiche les instructions du programme utilisées pour la gestion des erreurs.
| Article | Description |
|---|---|
| OnErr | Utilisez l'instruction OnErr pour définir l'emplacement de la routine de gestion des erreurs. |
| Err | Utilisez Err pour récupérer le numéro de l'état d'erreur actuel. Utilisez cela dans la routine de gestion des erreurs pour déterminer quelle erreur s'est produite. |
| Error | Générez une erreur définie par l'utilisateur qui peut être décelée par un gestionnaire d'erreurs. |
| Era | Utilisez Era pour récupérer le numéro de l'axe pour lequel l'erreur s'est produite. Cela est normalement utilisé dans la routine de gestion des erreurs. |
| Erl | Utilisez Erl pour récupérer le numéro de la ligne dans laquelle l'erreur s'est produite. Cela est normalement utilisé dans la routine de gestion des erreurs. |
| Ert | Utilisez Ert pour récupérer le numéro de la tâche dans laquelle l'erreur s'est produite. Cela est normalement utilisé dans la routine de gestion des erreurs. |
| ErrMsg$ | Utilisez ErrMsg$ pour récupérer le message d'erreur associé à un numéro d'erreur spécifié. |
| Errb | Utilisez Errb pour récupérer le numéro du robot dans lequel l'erreur s'est produite. Cela est normalement utilisé dans la routine de gestion des erreurs. |
Erreurs utilisateur
Vous pouvez définir vos propres messages d'erreur à l'aide de l'éditeur d'erreurs utilisateur disponible dans le menu Outils. Voir les détails ci-dessous.
[Éditeur d'erreur utilisateur] (menu Outils)
Exemple :
L'exemple suivant montre une routine simple de gestion des erreurs. Lorsqu'une erreur se produit, l'exécution du programme passe à l'étiquette ErrHandler, où le gestionnaire d'erreurs démarre. Le numéro d'erreur s'affiche et l'opérateur est invité à continuer ou non. Si l'opérateur saisit "N", le programme exécute l'instruction Quit All pour terminer le programme.
integer enum
Function Main
String cont$
Integer i
OnErr Goto Errhandler
For i = 1 To 10
Jump P(i)
Next i
Exit Function
' *** Gestionnaire d'erreurs ***
Errhandler:
enum = Err
Print "Error #", enum, " occurred"
Print "Continue (Y or N)?"
Line Input cont$
Select cont$
Case "y", "Y"
EResume Next
Default
Quit All
Send
Fend