OVH Cloud OVH Cloud

Gestion d'erreur

1 réponse
Avatar
Sylo
Bonjour,

Je travail sur une application .NET que je dois bientot distribuer.

Je voudrais me prémunir contre les exceptions que je n'aurais pas pu
prévoir. Pour cela, au niveau de l'application, j'ai ajouté un "AddHandler
Application.ThreadException, AddressOf cErreur.EvenementErreur"

dans la fonctino evenementErreur, l'appli m'envoie un e-mail avec le détail
de l'erreur puis l'appli s'arrête.

Par contre, mon appli ouvre de nombreuse fenêtre non modale. Quand une
erreur se produit dans ses fenêtres, je voudrais pouvoir récupérer l'erreur
au niveau de la fenêtre puis fermer celle-ci sans avoir à quitter totalement
l'application (ce que je fait actuellement).

Comment cela pourrait-il être faisable ???
Peut-on creer un delegate sur une classe qui me permettrait de redirigé
toutes les exception créé par une classe (par ces méthodes et ses
propriétés) vers une seule et même procédure...

Merci pour votre aide

Sylo

1 réponse

Avatar
Paul Bacelar
"Sylo" <devbnet[at]free.fr> wrote in message
news:
Bonjour,

Je travail sur une application .NET que je dois bientot distribuer.

Je voudrais me prémunir contre les exceptions que je n'aurais pas pu
prévoir. Pour cela, au niveau de l'application, j'ai ajouté un "AddHandler
Application.ThreadException, AddressOf cErreur.EvenementErreur"

dans la fonctino evenementErreur, l'appli m'envoie un e-mail avec le
détail
de l'erreur puis l'appli s'arrête.

Par contre, mon appli ouvre de nombreuse fenêtre non modale. Quand une
erreur se produit dans ses fenêtres, je voudrais pouvoir récupérer
l'erreur
au niveau de la fenêtre puis fermer celle-ci sans avoir à quitter
totalement
l'application (ce que je fait actuellement).

Comment cela pourrait-il être faisable ???
Peut-on creer un delegate sur une classe qui me permettrait de redirigé
toutes les exception créé par une classe (par ces méthodes et ses
propriétés) vers une seule et même procédure...

Merci pour votre aide

Sylo






Je vous déconseille fortement cette approche car vous ne serez jamais à même
de pouvoir gérer des exceptions comme des pénuries mémoires, des épuisement
de piles, des corruptions mémoires etc...

Il faut toujours laisser mourir une application quand elle est devenue
incontrôlable.

Tout est faisable mais tout n'est pas bon à mettre en oeuvre.

Pour le reporting de crash de l'application (via email, par exemple) et pour
une analyse post-mortem, j'utilise ADPlus

http://support.microsoft.com/default.aspx?scid=kb%3Bfr%3B286350
--
Paul Bacelar
MVP VC++