DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Exemple : Personnalisation des erreurs
HSurErreur (Exemple)
Exemple : Personnalisation des erreurs
WINDEVWEBDEV - Code ServeurCode Utilisateur (MCU)AjaxHyper File 5.5OLE DB L'exemple suivant permet de personnaliser la gestion des erreurs à l'aide de deux procédures :
  • SurErreurBlocage() qui permet de personnaliser les erreurs de blocage
  • SurAutreErreur() qui permet de personnaliser tous les autres types d'erreur
//------ Procédure à appeler lors d'une erreur de blocage
PROCÉDURE SurErreurBlocage()
 
SI OuiNon( "Une erreur de blocage a été rencontrée" + RC + ...
"Voulez-vous retenter l'opération ?") = Vrai ALORS
        // On réessaye l'opération qui a échoué
        RENVOYER opRéessayer
FIN
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
//------- Procédure à appeler pour les erreurs autres que les erreurs de blocage
PROCÉDURE SurAutreErreur()
 
SELON HErreur(hErrEnCours)
CAS 70015// Erreur d'intégrité
// Traitement spécifique aux erreurs d'intégrité
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70100 // Erreur de blocage
// Traitement spécifique aux erreurs de blocage
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70010// Erreur de doublon
// Traitement spécifique aux erreurs de doublon
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70700// Erreur de conflit de modification
// Traitement spécifique aux erreurs de conflit de modification
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70710// Erreur de valeur obligatoire
// Traitement spécifique aux erreurs de valeur obligatoire
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70720// Erreur de réindexation en cours
// Traitement spécifique aux erreurs de réindexation en cours
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
 
CAS 70022// Erreur de mot de passe
// Traitement spécifique aux erreurs de mot de passe
// par exemple, afficher l'erreur par Erreur(HErreurInfo())
// ou refixer le mot de passe du fichier en cause
// par HPasse(HErreurInfo(hErrFichier), NouveauMotDePasse)
// terminer le traitement en cours
...
// On rend la main à l'utilisateur
RENVOYER opFinTraitement
FIN
//------- Personnalisation des erreurs (dans le code d'initialisation du projet par exemple)
HSurErreur("*", hErrBlocage, "SurErreurBlocage")
HSurErreur("*", hErrIntégrité + hErrDoublon + ...
hErrModification + hErrMotDePasse, "SurAutreErreur")
//------- Ajout d'un enregistrement
// pas besoin de tester le retour, car si une erreur est rencontrée,
// l'ajout sera retenté ou le traitement sera abandonné
HAjoute(CLIENT)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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