|
CLASSE EXCEPTION TERMINAISON |
|
Anonyme
|
Bonjour,
Dans une classe, je cherche à faire remonter une exception, afin d'en faire un traitement centralisé.
J'exécute dans la ou les méthodes concernées un code d'exception générale du type : QUAND EXCEPTION FAIRE EXCEPTION FIN
Ou puis je rattraper (catcher) l'exception au niveau de la classe ? Dans la zone TERMINAISON ? J'ai essayé cette solution à l'aide d'un code type : QUAND EXCEPTION FAIRE Si (ExceptionInfo(ErrCode) = code) alors trtException fin FIN
Mais ca ne donne pas satisfaction : le mécanisme de sécurité de Windev se déclenche uniquement.
Quelqu'un peut-il m'aider ?
Un grand merci par avance JCH
Contribution le : 22/06/2004 21:06
|
|
|
Re: CLASSE EXCEPTION TERMINAISON |
|
Utilisateur WDF
Inscrit: 03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
|
Tu dois utilisé les exceptions specifiques. En fait chaque code pouvant générer une exception doit etre repéré, et tu 'catch' les exceptions une à une.
QUAND EXCEPTION DANS
FAIRE
FIN
Je ne sais pas si ça peut repondre à ton probleme, mais en tout cas, tu peux appeller une fonction globale de traitement de l'erreur et voila ...
Contribution le : 23/06/2004 09:36
|
|
|
Re: CLASSE EXCEPTION TERMINAISON |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Je ne pense pas qu'un traitement général puisse ce faire dans une classe.
Vous devez codifier pour chaque méthode utilisée :
PROCEDURE TEST
QUAND EXCEPTION DANS // CODE PROCEDURE FAIRE :TRAITEMENT_EXCEPTION ExceptionActive FIN
En espérant avoir été utile.
Mickael
Contribution le : 23/06/2004 09:42
|
|
|
Re: CLASSE EXCEPTION TERMINAISON |
|
Anonyme
|
Merci.
Si je comprends bien, il faut créer une méthode TRAITEMENT_EXCEPTION et l'appeler lors d'une exception spécifique ?
Mais quand est-il de la commande EXCEPTION qui est censée faire remonter l'exception à un niveau au dessus ?
De plus, à quoi correspond TERMINAISON dans une classe ?
JCH
Contribution le : 23/06/2004 10:07
|
|
|
Re: CLASSE EXCEPTION TERMINAISON |
|
Utilisateur WDF
Inscrit: 03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
|
Terminaison est le code qui pourrais etre executé à la libération de la classe. Juste apres la destruction de l'objet. Or, l'exception a lieu mais l'objet n'est pas tué. Donc Windev n'a pas à executer ce code, vu qu'une exception a été détecté avant et n'a été pas redirigée... Voila pourquoi le code que tu met dans terminaison ne s'execute pas ... La méthode est bien les exception spécifiques plus lourd je comprend, mais c'est la seule solution ici.
Contribution le : 24/06/2004 16:11
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.