- Fonctionnement des erreurs personnalisées
- Utilisation d'une méthode de classe pour personnaliser les erreurs
- Personnalisation des fenêtres d'erreur par défaut
- Personnalisation des pages d'erreur par défaut
HSurErreur (Fonction) En anglais : HOnError
Non disponible avec ce type de connexion
Syntaxe
<Résultat> = HSurErreur(<Fichier de données> , <Type de l'erreur> [, <Procédure/fenêtre/page>])
<Résultat> : Booléen - Vrai si l'opération a été effectuée sans problème,
- Faux dans le cas contraire. La fonction HErreur permet d'obtenir plus d'informations sur le problème rencontré.
<Fichier de données> : Chaîne de caractères Nom du fichier de données manipulé. Si ce paramètre est égal à "*", la personnalisation sera appliquée à tous les fichiers de données présents dans l'analyse ou définis par programmation. <Type de l'erreur> : Constante ou combinaison de constantes Type d'erreur à paramétrer. | | hErrAccèsBaseDeDonnées | Paramétrage des erreurs d'accès à une base de données HFSQL Client/Serveur (interdiction d'accès par la fonction HInterditAccèsBaseDeDonnées).
| hErrBlocage | Paramétrage des erreurs de blocage.
| hErrDoublon | Paramétrage des erreurs de doublons.
| hErrIntégrité | Paramétrage des erreurs d'intégrité.
| hErrModification | Paramétrage d'un conflit de modification.
| hErrMotDePasse | Paramétrage des erreurs de mot de passe (mot de passe incorrect).
| hErrPerteConnexion | Paramétrage des erreurs dues à une perte de la connexion avec le serveur HFSQL.
| hErrRéindexation | Paramétrage des erreurs de ré-indexation (ré-indexation en cours lors de l'accès au fichier de données).
| hErrTout | Paramétrage de toutes les erreurs précédentes (sauf hErrRéindexation).
| hErrValeurObligatoire | Paramétrage des erreurs dues à une valeur obligatoire et non renseignée (OLE DB et certains accès natifs).
|
<Procédure/fenêtre/page> : Chaîne de caractères optionnelle Correspond : Nom de la fenêtre ou de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît. Nom de la page ou de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît. - Nom de méthode d'un objet si la fonction HSurErreur est appelée dans une méthode de cet objet.
Versions 20 et supérieures  Nom de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît. Nouveauté 20  Nom de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît.   Nom de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît. - Paramètre non spécifié. Si l'option du projet "Activer l'assistance automatique HFSQL" est cochée, la fenêtre/page par défaut de gestion automatique des erreurs est utilisée pour le type d'erreur et le fichier de données spécifiés.
- Chaîne vide. Dans ce cas, la gestion automatique des erreurs sera désactivée.
Remarque : Pour désactiver la gestion automatique des erreurs, il est également possible de décocher l'option du projet "Activer l'assistance automatique HFSQL".
Remarque : Dans certains cas (par exemple erreurs de perte de connexion), la procédure/fenêtre/page sera exécutée uniquement lors du prochain appel à la fonction WLangage suivant l'événement provoquant l'erreur.
Cas particulier : utilisation d'une fenêtre, d'une page ou d'une procédure d'un composant : Il est nécessaire d'utiliser la syntaxe suivante : Procédure :
HSurErreur(<Fichier de données>, <Type>, ... "<Composant>.<Nom de la Collection de procédures>.<Nom de la procédure>")
Fenêtre :
HSurErreur(<Fichier de données>, <Type>, "<Composant>.<Nom de la fenêtre>")
Page :
HSurErreur(<Fichier de données>, <Type>, "<Composant>.<Nom de la page>")
Remarques Fonctionnement des erreurs personnalisées La procédure, la fenêtre ou la page permettant de personnaliser l'erreur devra renvoyer une des constantes suivantes : | | opAnnuler | La fonction ayant déclenché l'erreur renvoie une erreur de la même manière que si la gestion assistée avait été désactivée. Remarque : Pour les erreurs de perte de connexion, l'erreur est fatale. | 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 HFSQL> 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 | Le programme s'arrête et l'application est automatiquement relancée.
|
Utilisation d'une méthode de classe pour personnaliser les erreurs Le paramètre <Nom de la procédure ou de la fenêtre> peut également correspondre à une méthode d'un objet si la fonction HSurErreur est appelée dans une méthode de cet objet. Il suffit de préciser le nom de la méthode à utiliser (sans le préfixer par le nom de l'objet). Si au moment de l'appel de la méthode par le moteur HFSQL, l'objet utilisé lors de l'appel à la fonction HSurErreur n'est plus alloué, une erreur fatale est renvoyée.
Liste des exemples associés :
|
Exemples didactiques (WINDEV) : WD Gestion Erreurs HFSQL
[ + ] L'exemple "WD Gestion Erreurs HFSQL" présente de façon didactique la gestion des erreurs HFSQL (doublon, intégrité). Cet exemple montre comment personnaliser le traitement lorsqu'une erreur est levée.
|
Documentation également disponible pour…
|
|
|