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)




