4D v16.3ON ERR CALL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ON ERR CALL
ON ERR CALL
ON ERR CALL installe la méthode projet dont le nom est passé dans méthodErreur comme méthode d'interception des erreurs — aussi appelée méthode de gestion des erreurs. Après l'installation, 4D appelle cette méthode lorsqu'une erreur se produit lors de l'exécution d'une commande du langage 4D. La portée de cette commande est le process courant. Il ne peut y avoir qu'une seule méthode de gestion des erreurs par process, mais il peut exister différentes méthodes de gestions d'erreurs pour plusieurs process. Notes :
Pour désinstaller une méthode de gestion des erreurs, appelez de nouveau ON ERR CALL et passez une chaîne vide dans méthodErreur. Vous pouvez identifier les erreurs en lisant la variable système Error, qui contient le code de l'erreur. Les codes d'erreurs retournés par 4D sont traités dans les sections Codes d'erreurs. Reportez-vous par exemple à la section Erreurs de syntaxe (1 -> 81). La variable Error n'est définie qu'à l'intérieur de la méthode de gestion des erreurs ; si vous souhaitez que le code soit accessible dans la méthode ayant provoqué l'erreur, copiez la variable Error dans votre propre variable process. Vous pouvez également accéder aux variables système Error method, Error line et Error formula contenant respectivement le nom de la méthode, le numéro de ligne et le texte de la formule à l'origine de l'erreur (cf. paragraphe Error, Error method, Error line). Vous pouvez obtenir la séquence d'erreurs à l'origine de l'interruption (la "pile" d'erreurs) à l'aide de la commande GET LAST ERROR STACK. La méthode de gestion des erreurs doit généralement traiter les erreurs de manière appropriée ou afficher un message d'erreur à l'utilisateur. Les erreurs peuvent être générées lors de traitements effectués sur :
La commande ABORT peut être utilisée pour stopper le traitement. Si vous n'appelez pas ABORT dans la méthode installée, 4D retourne à la méthode interrompue et reprend son exécution. Utilisez la commande ABORT lorsque l'exécution ne peut se poursuivre. Si une erreur se produit dans la méthode de gestion d'erreurs elle-même, 4D reprend le contrôle de la gestion des erreurs. En conséquence, assurez-vous que la méthode de gestion des erreurs installée ne puisse pas elle-même générer d'erreur. Aussi, vous ne pouvez pas utiliser la commande ON ERR CALL dans une méthode de gestion des erreurs. La méthode projet suivante tente de créer un document dont le nom est reçu en paramètre et retourne 0 (zéro) ou un code d'erreur si le document n'a pas pu être créé : ` Méthode projet Créer doc La méthode projet IO TRAITEMENT ERREURS est la suivante : ` Méthode projet IO TRAITEMENT ERREURS gError:=Error ` Simple copie du code d'erreur dans la variable process gError Notez l'utilisation de la variable process gError pour récupérer le code d'erreur dans la méthode en train de s'exécuter. Une fois que ces méthodes sont présentes dans votre base, vous pouvez écrire par exemple : ` ... Reportez-vous à l'exemple de la section Tableaux et mémoire. Alors que vous implémentez un ensemble complexe d'opérations, vous pouvez terminer avec de multiples sous-routines qui nécessitent différentes méthodes de gestion des erreurs. Comme ne pouvez avoir qu'une seule méthode à la fois de gestion des erreurs par process, vous devez soit repérer la méthode courante à chaque fois que vous appelez ON ERR CALL, soit utiliser une variable tableau process (ici tabErrorMethod) pour “empiler” les méthodes de gestion d'erreur ainsi qu'une méthode projet (ici APPEL SUR ERR) pour les installer et les désinstaller. Le tableau doit être initialisé au tout début de l'exécution du process : // N'oubliez pas d'initialiser le tableau au début Voici la méthode personnalisée APPEL SUR ERR : // Méthode projet APPEL SUR ERR Vous pouvez alors l'appeler de la manière suivante : gError:=0 La méthode de gestion d'erreurs suivante ignore les interruptions de l'utilisateur et affiche le texte de l'erreur : //Méthode projet Montrer_seulement_erreurs
Voir aussi
ABORT
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : < 4D v6 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||