[WD16]Gestion des exceptions

2 réponses
Avatar
pyfux
Bonjour,

Au sein d'une procédure j'intercepte une éventuelle exception dans un
bout de code:

QUAND EXCEPTION DANS
[Mon bout de code...]
FAIRE
[Commandes diverses...]
FIN


Mais dans la procédure appelante j'ai activé le
CAS EXCEPTION:
[Code au cas ou une exception survienne...]


Et lorsque l'on revient de l'appel de la procédure ou se trouve le QUAND
EXCEPTION, Windev exécute le code de CAS EXCEPTION !


Or dans le FAIRE [Commandes diverses...] je corrige cette errreur.
Donc je ne veux pas que dans le code appelant le code se branche à CAS
EXCEPTION.

Comment faire ?


Pyfux

2 réponses

Avatar
Romain PETIT
pyfux a présenté l'énoncé suivant :
Bonjour,



Bonjour,

Comment faire ?




Bizarre, je n'ai pas ce comportement, le code ci-dessous ne trace que
l'exception fille.


///Code d'un bouton :
pl_procedureExceptionMère()

************

PROCEDURE pl_procedureExceptionMère()
pl_procedureExceptionfille()
CAS EXCEPTION:
Trace("Exception mère")

************

PROCEDURE pl_procedureExceptionfille()
QUAND EXCEPTION DANS
SELON OuiNon(Oui, "OUI -> pas d'exception"+RC+"NON -> exception")
CAS Oui
trace("Pas d'exception")
AUTRE CAS
c,d est un entier
c= d/0
FIN
FAIRE
Trace("Exception fille")
FIN

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
pyfux
Bonjour,

Je suis profondément désolé. Je n'arrive pas à reproduire la situation.

Le code qui provoquait l'exception était un hcréationsiinexistant (table
non synchro avec l'analyse) et après ré-ouverture du projet, toujours le
même "crash" mais pas de branchement au "cas exception:" dans l'appel !

Je ne sais pas pourquoi, mais ça fonctionne maintenant.

pyfux


Le 20/06/2011 14:17, Romain PETIT a écrit :
pyfux a présenté l'énoncé suivant :
Bonjour,



Bonjour,

Comment faire ?




Bizarre, je n'ai pas ce comportement, le code ci-dessous ne trace que
l'exception fille.


///Code d'un bouton :
pl_procedureExceptionMère()

************

PROCEDURE pl_procedureExceptionMère()
pl_procedureExceptionfille()
CAS EXCEPTION:
Trace("Exception mère")

************

PROCEDURE pl_procedureExceptionfille()
QUAND EXCEPTION DANS
SELON OuiNon(Oui, "OUI -> pas d'exception"+RC+"NON -> exception")
CAS Oui
trace("Pas d'exception")
AUTRE CAS
c,d est un entier
c= d/0
FIN
FAIRE
Trace("Exception fille")
FIN