Page 1 sur 1
Gestion des erreurs

Publié:
23 Sep 2010 à 14:54
par Michael DELIQUE
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 ?

Publié:
23 Sep 2010 à 15:10
par Aquanotes
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.

Publié:
23 Sep 2010 à 15:13
par Michael DELIQUE
bon
je vais aller chercher un peu plus de vodka moi

Publié:
23 Sep 2010 à 23:53
par roubech
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]

Publié:
24 Sep 2010 à 09:08
par Michael DELIQUE
merci, c'est bon.
j'ai du revoir un peu mon algo, le problème était là