|
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". |
| |
| |
| | | |
|
| | | | |
| | |
|