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