PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Gestion des exceptions
Gestion des exceptions
Started by darems, Mar., 20 2006 2:12 PM - 6 replies
Posted on March, 20 2006 - 2:12 PM
Bonjour,

Dans un projet WD10, j'aimerais récupérer des exceptions au niveau du code d'initialisation du projet afin que toute erreur non prévue soit récupérée "proprement".
En effet, dans la doc en ligne, il est écrit : "Si le traitement d'exception est déclaré dans le code d'initialisation du projet, il est valide pour toute erreur se produisant dans le projet".

Or, quoique je fasse, le code d'exception que je place au niveau du code d'initialisation du projet n'est jamais exécuté.
Par exemple, j'ai un projet avec une seule fenêtre. Cette fenêtre contient un bouton dont le code est Ouvre("fenetre_inconnue"). Dans le code d'initilisation de mon projet, je crée donc un traitement d'exception dont le code est info("ce programme a planté").
Or, quand je clique sur mon bouton, je récupère la fenêtre d'erreur WinDev habituelle et le programme sort lamentablement. Je n'obtiens jamais mon info.

Quelqu'un aurait-il un tuyau à me donner sur cette gestion des exceptions ?
D'avance merci
Posted on March, 20 2006 - 3:40 PM
Tu peux essayer le traitement automatique de gestion d'erreur faite par
windev en cliquant sur le lien bleu "Quand Exception, erreur par programme",
puis l'onglet erreur fatale. Dans la partie CAS EXCEPTION:, tu met ton
traitement.

Philippe
www.freedev-web.com


"Rémi" <darems@voila.fr> a écrit dans le message de news:
441e943e@news.pcsoft.fr...

Bonjour,

Dans un projet WD10, j'aimerais récupérer des exceptions au niveau du code
d'initialisation du projet afin que toute erreur non prévue soit récupérée
"proprement".
En effet, dans la doc en ligne, il est écrit : "Si le traitement
d'exception est déclaré dans le code d'initialisation du projet, il est
valide pour toute erreur se produisant dans le projet".

Or, quoique je fasse, le code d'exception que je place au niveau du code
d'initialisation du projet n'est jamais exécuté.
Par exemple, j'ai un projet avec une seule fenêtre. Cette fenêtre contient
un bouton dont le code est Ouvre("fenetre_inconnue"). Dans le code
d'initilisation de mon projet, je crée donc un traitement d'exception dont
le code est info("ce programme a planté").
Or, quand je clique sur mon bouton, je récupère la fenêtre d'erreur WinDev
habituelle et le programme sort lamentablement. Je n'obtiens jamais mon
info.

Quelqu'un aurait-il un tuyau à me donner sur cette gestion des exceptions
?
D'avance merci

Posted on March, 20 2006 - 3:54 PM
Rémi a émis l'idée suivante :
Bonjour,

Dans un projet WD10, j'aimerais récupérer des exceptions au niveau du code
d'initialisation du projet afin que toute erreur non prévue soit récupérée
"proprement". En effet, dans la doc en ligne, il est écrit : "Si le
traitement d'exception est déclaré dans le code d'initialisation du projet,
il est valide pour toute erreur se produisant dans le projet".

Or, quoique je fasse, le code d'exception que je place au niveau du code
d'initialisation du projet n'est jamais exécuté. Par exemple, j'ai un projet
avec une seule fenêtre. Cette fenêtre contient un bouton dont le code est
Ouvre("fenetre_inconnue"). Dans le code d'initilisation de mon projet, je
crée donc un traitement d'exception dont le code est info("ce programme a
planté"). Or, quand je clique sur mon bouton, je récupère la fenêtre d'erreur
WinDev habituelle et le programme sort lamentablement. Je n'obtiens jamais
mon info.

Quelqu'un aurait-il un tuyau à me donner sur cette gestion des exceptions ?
D'avance merci


en mettant le code suivant dans l'initialisation du projet, ca marche
QUAND EXCEPTION
SELON ExceptionInfo(errCode)

AUTRE CAS
Info("une erreur est apparue")
FIN
FIN

Attention qd une exception apparait ne pas oublier de faire
ExceptionActive.

c'est quoi le code que tu utilises ?
Posted on March, 20 2006 - 4:51 PM
Je viens d'essayer de mettre dans le code d'initialisation de mon projet le code suivant:
QUAND Exception
Info("Excpetion récupérée")
FIN
et effectivement ca marche.

Le code que j'utilisais auparavant et qui ne marchait pas était le suivant:
CAS EXCEPTION:
Info("Exception récupérée dans le code d'initialisation du projet.")
en ayant coché l'option "Exécuter le traitement d'erreur (CAS EXCEPTION dans le code)

Apparemment la première méthode marche mais pas la seconde....

Merci de votre aide
Posted on March, 20 2006 - 4:52 PM
Ca ne fonctionne pas chez moi le traitement automatique des erreurs:
Je renseigne bien la procedure globale que je veux executer a chaque erreur mais meme apres une erreur, la procedure ne s'execute pas.
Une idée?

Sinon pour les exceptions je confirme ce que dit Fabienlaps, ca fonctionne nickel chez moi depuis pas mal de temps
Posted on March, 20 2006 - 5:17 PM
Après mûre réflexion, Rémi a écrit :
Je viens d'essayer de mettre dans le code d'initialisation de mon projet le
code suivant: QUAND Exception
Info("Excpetion récupérée")
FIN
et effectivement ca marche.

Le code que j'utilisais auparavant et qui ne marchait pas était le suivant:
CAS EXCEPTION:
Info("Exception récupérée dans le code d'initialisation du projet.")
en ayant coché l'option "Exécuter le traitement d'erreur (CAS EXCEPTION dans
le code)

Apparemment la première méthode marche mais pas la seconde....

Merci de votre aide

Cas exception : est utiliser dans les procédures par exemple pour gérer
les cas spéciaux
à la fin de la procédure :
cas exception :
smessage= "erreur"
renvoyer faux
Posted on March, 20 2006 - 5:31 PM
Stephane a utilisé son clavier pour écrire :


Ca ne fonctionne pas chez moi le traitement automatique des erreurs:
Je renseigne bien la procedure globale que je veux executer a chaque erreur
mais meme apres une erreur, la procedure ne s'execute pas. Une idée?

Sinon pour les exceptions je confirme ce que dit Fabienlaps, ca fonctionne
nickel chez moi depuis pas mal de temps


en faite d'après l'aide le traitement automatique de l'erreur est géré
dans le traitement en cours :
exemple si dans le code d'init du projet tu défini la procédure en cas
d'exception, cette procédure sera appelée si tu as une exception dans
ce code.
pour une gestion plus générale, utiliser "Quand Exception dans l'init
du projet".