Gestion automatique des erreurs
Mettre en place la gestion automatique des erreurs
Pour mettre en place la gestion automatique des erreurs :
- Affichez sous l'éditeur de code, l'événement ou le traitement dans lequel les erreurs doivent être traitées : code d'initialisation, code de clic, procédure, ...
- Dans l'entête du code, cliquez sur "Si Erreur : par programme".
- La fenêtre qui s'affiche permet de spécifier le type de traitement automatique à effectuer :
Remarques :
- Le code de gestion de l'erreur présent dans le traitement en cours est prioritaire sur les traitements automatiques dans les deux cas suivants :
- Test d'une fonction de type "SI PAS xxxx = Vrai ou Faux"
- Test des erreurs avec la variable ErreurDétectée.
- Une gestion avancée des erreurs peut être réalisée grâce à la fonction ErreurChangeParamètre.
Exécuter le traitement d'erreur ("CAS ERREUR:" dans le code)
Si cette option est sélectionnée, une ligne de code est ajoutée dans le code en cours "CAS ERREUR: ". Les lignes de code suivant cette étiquette seront exécutées lorsqu'une erreur sera rencontrée dans les lignes de codes précédentes. Cette option est conseillée pour regrouper par exemple tous les traitements d'erreurs pouvant survenir.
Remarque : Si "CAS ERREUR" est directement écrit dans un code, l'option "Exécuter le traitement d'erreur ("CAS ERREUR:" dans le code)" sera automatiquement sélectionnée.
Exécuter une procédure de traitement d'erreur
Si cette option est sélectionnée, lorsqu'une erreur sera rencontrée dans le traitement en cours, la procédure indiquée sera automatiquement exécutée pour traiter l'erreur. Cette option est conseillée si vous possédez dans votre application une procédure existante traitant les erreurs. L'appel à cette procédure sera automatique dès qu'une erreur est rencontrée. Aucun test à faire.
Dans cette procédure, il est possible de renvoyer une des constantes présentées dans le tableau ci-dessous.
En fonction de la constante renvoyée, WINDEV, WEBDEV ou WINDEV Mobile effectuera le traitement correspondant.
| |
opAnnuler | La fonction ayant déclenché l'erreur renvoie une erreur et le code continue à s'exécuter. |
opFinProgramme | La fonction ayant déclenché l'erreur renvoie une erreur et le programme s'arrête. Équivalent à une ligne de code de type : SI PAS <Fonction> ALORS FinProgramme() |
opFinTraitement | La fonction ayant déclenché l'erreur renvoie une erreur et le traitement en cours s'arrête. Équivalent à une ligne de code de type : SI PAS <Fonction HFSQL> ALORS DonneFocusEtRetourUtilisateur() |
opRéessayer | La fonction ayant déclenché l'erreur est ré-exécutée. |
opRelanceProgramme | Termine l'application et relance automatiquement l'application.
|
Afficher l'erreur et quitter l'application
Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
- Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
- Arrêter l'application
- Relancer automatiquement l'application après son arrêt. Cette option n'est pas disponible en Java.
Afficher l'erreur et retourner en saisie dans la fenêtre courante
Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
- Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
- Arrêter l'application
- Annuler l'opération : le traitement en cours est annulé. La fenêtre en cours de l'application s'affiche.
- Relancer automatiquement l'application après son arrêt.
Afficher l'erreur et laisser l'utilisateur décider
Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
- Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
- Arrêter l'application
- Annuler l'opération : le traitement en cours est annulé. La fenêtre en cours de l'application s'affiche.
- Ré-essayer l'opération : l'opération qui a provoqué l'erreur sera annulée puis ré-exécutée.
- Relancer automatiquement l'application après son arrêt. Cette option n'est pas disponible en Java.
Sortir de la procédure et renvoyer XXX et afficher l'erreur
Si cette option est sélectionnée, lorsque l'erreur est rencontrée dans le code, le code effectuera automatiquement un RENVOYER XXX, que votre programme pourra traiter.
Les valeurs pouvant être renvoyées sont :
- -1
- 0
- Chaîne vide ("")
- FAUX
- NULL
- VRAI
Il est également possible d'afficher l'erreur.