Gestion des erreurs

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Gestion des erreurs

Messagepar Michael DELIQUE » 23 Sep 2010 à 14:54

je travail sur un petite gestion des erreurs.

et j'ai un souci (sinon je serais pas là)

jusqu'a présent quand j'implémentais une gestion des erreurs et qu'une fonction plantait toute celle audessus (qui ont servis a l'appellé) plantaient aussi.

ben là non, ma fonction plante (message d'erreur) re passe a la fonctiondu dessus, mais la on passe pas par les erreurs alors que si j'affiche les variable d'erreur elle sont bien renseigné.

m'enfin pourquoi ?
Dernière édition par Michael DELIQUE le 24 Sep 2010 à 09:17, édité 1 fois.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Aquanotes » 23 Sep 2010 à 15:10

Bah de mon coté je n'ai jamais vu cela.

Dans certaines conditions cela peut arriver si la fonction appelante a besoin du retour de la fonction appelée (ex la fonction appelée est sensée retourner un document, mais une erreur se produit et dans la fonction appelante je ne teste pas l'existence de ce doc).

Mais si la fonction appelée génère une erreur et que le reste du programme se fout du bon fonctionnement de cette fonction , le programme continue (et heureusement).

Par contre si tu ne mets pas de gestionnaire d'erreur, là à la moindre erreur ton programme s'arrête.
*** une 3ème année sans nicotine qui démarre :danse001: ***
Aquanotes
Posteur habitué
Posteur habitué
 
Message(s) : 295
Inscrit(e) le : 16 Déc 2004 à 12:13
Localisation : Niort

Messagepar Michael DELIQUE » 23 Sep 2010 à 15:13

bon

je vais aller chercher un peu plus de vodka moi
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar roubech » 23 Sep 2010 à 23:53

en complément de ce qu'a dit aquanotes, si la fonction appellé intercepte l'erreur l'erreur n'est pas remontée à la fonctin appelante
donc si la fonction appelante essaye d'utiliser une variable qui n'est pas renseigné alors là une nouvelle erreur est levée dans la fonction appelante.
mais tu peux également lever explicitement une erreur dans ta gestion d'erreur au niveau de ta fonction appellée

[syntax="LotusScript"]Function appelee1 as string

On Error goto ErrorHandler

' ...

return "resultat"
exit function

ErrorHandler:
' log error
print "Erreur n°" & err & " ligne " & erl & " : " & error
' Remonter l'erreur à la fonction appelante
error err, error
exit function

End Function


Function appelee2 as string

On Error goto ErrorHandler

' ...

return "resultat"
exit function

ErrorHandler:
' log error
print "Erreur n°" & err & " ligne " & erl & " : " & error
' Retourner "" qui sera testé dans la focntion appelante
return ""
exit function

End Function[/syntax]
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 24 Sep 2010 à 09:08

merci, c'est bon.

j'ai du revoir un peu mon algo, le problème était là
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement