DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Personnalise la gestion des erreurs HFSQL.
WINDEV, WEBDEV et WINDEV Mobile proposent une gestion automatique des erreurs. La gestion automatique des erreurs peut être débranchée ou rebranchée sur un ou plusieurs fichiers de données, pour un ou plusieurs types d'erreurs. Il suffit d'utiliser la fonction HSurErreur en spécifiant une chaîne vide en nom de fenêtre, de page ou de procédure. Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.

HFSQL Client/ServeurProcédures stockées La gestion automatique des erreurs n'est pas disponible dans les procédures stockées.
Procédures stockées La fonction HSurErreur peut être utilisée pour gérer l'erreur dans une procédure stockée.
AndroidWidget AndroidJava Seule la perte de connexion peut être personnalisée.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)
// Personnalisation des erreurs de blocages
// La procédure SurErreurBlocage est appelée 
// en cas d'erreur de blocage pour tous les fichiers de données
HSurErreur("*", hErrBlocage, "SurErreurBlocage")
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)HFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)
// Ré-activation générale de la gestion automatique
// de toutes les erreurs sur tous les fichiers de données
HSurErreur("*", hErrTout)
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)
// Ré-activation générale de la gestion automatique
// des erreurs de blocage sur le fichier de données Client
HSurErreur("Client", hErrBlocage)
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éesParamétrage des erreurs d'accès à une base de données HFSQL Client/Serveur (interdiction d'accès par la fonction HInterditAccèsBaseDeDonnées).
Universal Windows 10 AppAndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrBlocageParamétrage des erreurs de blocage.
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrDoublonParamétrage des erreurs de doublons.
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrIntégritéParamétrage des erreurs d'intégrité.
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrModificationParamétrage d'un conflit de modification.
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrMotDePasseParamétrage des erreurs de mot de passe (mot de passe incorrect).
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrPerteConnexionParamétrage des erreurs dues à une perte de la connexion avec le serveur HFSQL.
Universal Windows 10 App Cette constante n'est pas disponible.
hErrRéindexationParamétrage des erreurs de ré-indexation (ré-indexation en cours lors de l'accès au fichier de données).
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrToutParamétrage de toutes les erreurs précédentes (sauf hErrRéindexation).
AndroidWidget AndroidJava Cette constante n'est pas disponible.
hErrValeurObligatoireParamétrage des erreurs dues à une valeur obligatoire et non renseignée (OLE DB et certains accès natifs).
Universal Windows 10 AppAndroidWidget AndroidJava Cette constante n'est pas disponible.
<Procédure/fenêtre/page> : Chaîne de caractères optionnelle
Correspond :
  • WINDEV Nom de la fenêtre ou de la procédure à appeler lorsque une erreur de type <Type de l'erreur> apparaît.
  • WEBDEV - Code Serveur 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.
  • AndroidWidget AndroidJava 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.
WEBDEV - Code Serveur Seules certaines fenêtres/pages de gestion automatique des erreurs sont disponibles. Pour ces erreurs, la gestion automatique des erreurs est donc désactivée.

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>")
HFSQL Client/Serveur En cas de perte de connexion, pour demander une reconnexion, cette procédure doit appeler la fonction HReconnecte.
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 :
opAnnulerLa 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.
opFinProgrammeLa 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()
opFinTraitementLa 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()
AndroidWidget AndroidJava Cette constante n'est pas disponible.
opRéessayerLa fonction ayant déclenché l'erreur est ré-exécutée.
opRelanceProgrammeLe programme s'arrête et l'application est automatiquement relancée.
AndroidWidget AndroidJava Cette constante n'est pas disponible.

HFSQL Client/Serveur En cas de perte de connexion, pour demander une reconnexion, il faut utiliser la fonction HReconnecte dans la procédure appelée par la fonction HSurErreur.

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.
WINDEVEtats et RequêtesUniversal Windows 10 AppHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Personnalisation des fenêtres d'erreur par défaut

Les fenêtres d'erreur par défaut sont livrées (avec leur code WLangage) à titre d'exemple, dans le répertoire "\Programs\Data\Preset Windows\FR\HyperFileSQL - Fenetres assistance automatique".
Vous pouvez inclure ces fenêtres dans vos projets, les personnaliser et les passer en paramètre à la fonction HSurErreur.
Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
WEBDEV - Code ServeurHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Personnalisation des pages d'erreur par défaut

Les pages d'erreur par défaut sont livrées (avec leur code WLangage) à titre d'exemple, dans le répertoire "\Programs\Data\Preset Pages\FR\HyperFileSQL - Pages assistance automatique".
Vous pouvez inclure ces pages dans vos projets, les personnaliser et les passer en paramètre à la fonction HSurErreur.
Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
Liste des exemples associés :
WD Gestion Erreurs HFSQL 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.
Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/10/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale