Produit : 4D 2003, 4D 2004 · Plateforme : Mac & Win ♪
Pour une programmation modulaire, il est recommandé de gérer les méthodes appelées sur erreur de manière à restaurer la méthode courante à la fin d'une méthode.
Vous pouvez aussi prévoir de compléter l'information disponible dans votre méthode appelée sur erreur, en renseignant le nom de la méthode, et d'autres informations susceptible d'aider à résoudre le problème.
Exemple de code
` --------------------
` en début de méthode
` --------------------
` déclaration des variables
C_TEXTE
(
vt_Nom_Methode_Courante)
C_TEXTE
(
vt_Mes_informations_Sur_Erreur)
C_TEXTE
(
$vt_Gestion_Courante_Sur_Erreur
)
` mémorisation de la méthode appelée sur erreur courante pour le process
$vt_Gestion_Courante_Sur_Erreur
:=
Methode appelee sur erreur
` fixer la méthode de gestion d'erreur
vt_Nom_Methode_Courante:=
Nom methode courante
APPELER SUR ERREUR
(
"ERROR_HANDLER_Test"
)
` --------------------
` suite de la méthode avec votre code
` --------------------
` (infos dans cette variable à traiter dans la méthode appelée sur erreur)
vt_Mes_informations_Sur_Erreur:=
"infos complémentaires : "
` .... votre code
vt_Mes_informations_Sur_Erreur:=
vt_Mes_informations_Sur_Erreur+
" xxxx yyyy"
` (infos dans cette variable à traiter dans la méthode appelée sur erreur)
` .... suite et fin de votre code
vt_Mes_informations_Sur_Erreur:=
vt_Mes_informations_Sur_Erreur+
12
` forcer une erreur en interprété
` --------------------
` fin de votre méthode
` --------------------
` restauration de la méthode appelée sur erreur courante pour le process
APPELER SUR ERREUR
(
$vt_Gestion_Courante_Sur_Erreur
)
Dans votre méthode ERROR_HANDLER_Test appelée sur erreur, vous pourrez, par exemple, regrouper ces informations pour les afficher dans une Alerte, dans un fichier de log d'erreurs, etc. :
C_ENTIER LONG
(
$Error
)
C_TEXTE
(
vt_Infos_Erreur)
C_ALPHA(
1
;
$CR
)
$CR
:=
Caractere
(
13
)
vt_Infos_Erreur:=
"le "
+
Chaine
(
Date du jour
;
7
)+
", a "
+
Chaine
(
Heure courante
)+
$CR
vt_Infos_Erreur:=
vt_Infos_Erreur+
"Erreur No : "
+
Chaine
(
Error)+
$CR
vt_Infos_Erreur:=
vt_Infos_Erreur+
"Nom Methode connue : "
vt_Infos_Erreur:=
vt_Infos_Erreur+
vt_Nom_Methode_Courante+
$CR
vt_Infos_Erreur:=
vt_Infos_Erreur+
vt_Mes_informations_Sur_Erreur
` ajout dans un fichier de log, affichage dans une fenêtre, etc.
ALERTE
(
vt_Infos_Erreur)