Bonjour,
SVP je veux savoir si il y a une possibilté de detecter les message d'erreurs qui vient de Microsoft.Net framework comme le montre l'image :
Sachant que j'ai mis les block de Try catch
Merci de votre aide
Aimar
Bonjour,
SVP je veux savoir si il y a une possibilté de detecter les message d'erreurs qui vient de Microsoft.Net framework comme le montre l'image :
Sachant que j'ai mis les block de Try catch
Merci de votre aide
Aimar
En cliquant sur "Detail" tu auras l'exception qui a été levé.
Oui j'ai fait un try catch global sur la fonction, mais ça m'affiche la boite de dialogue de framework
Bonjour.
Deux possibilités au fait que le try/catch n'empêche pas la remontée de l'exception :
* L'exception se produit en fait dans un autre thread, donc ailleurs dans le code.
* L'exception a bien été levée mais le problème n'ayant pas été résolu celui-ci survient à nouveau peu après. Par exemple, le contenu du bloc catch peut vouloir allouer un objet mais, la mémoire faisant défaut, une nouvelle exception est lancée.
Une erreur "out of memory" n'est jamais simple à gérer. Plusieurs choses :
* On peut, après s'être débarrassé d'un objet de grande taille (plus aucune référence vers celui-ci), réclamer immédiatement une passe du garbage collector via GC.Collect(). La pratique est déconseillée mais elle est parfois nécessaire si des ressources natives ont été allouées sans en informer le GC via GC.AddMemoryPressure().
* Si des ressources natives sont manipulées au travers d'objets implémentant IDisposable, on veillera à appeler Dispose dès que possible.
* Tous les objets sont-ils bien correctement nettoyés ou la mémoire augmente t-elle en permanence sans raison ? Redescend t-elle après un appel à GC.Collect() ?
* Avant l'allocation d'un objet de grande taille, on peut vérifier si la mémoire disponible est suffisante via MemoryFailPoint.
* On peut réagit à des exceptions qui remontent à la surface (non-interrompues dans un bloc catch), via un événement situé sur AppDomain ou Application (je ne sais plus). Cela dit à ce stade il est trop tard pour reprendre le cours normal de l'application et cela ne peut servir qu'à informer l'utilisateur du problème et des solutions.
Merci chef DonQuiche
Votre réponse est claire
j'ai utilisé currentDomain.UnhandledException pour detecter le message d'erreur
exemple d'utilisation :
http://msdn.microsoft.com/fr-fr/libr...exception.aspx
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager