Une exception est générée dans un contrôle utilisateur basé sur une zone d'image, entraînant l'affichage de l'image d'erreur type (X rouge). Étant donné que le thread graphique a intercepté et géré l'exception elle-même, je ne peux pas facilement savoir où l'exception s'est produite et déboguer. Je remballe actuellement tout le code OnPaint dans un try-catch, et j'ai été capable de déboguer le code, mais je l'ai trouvé assez fastidieux et je me suis demandé s'il y avait un moyen d'entrer dans le débogueur à partir d'une exception .Comment intercepter une exception dans un thread graphique?
Répondre
Cela fonctionne déjà de cette façon par défaut. La méthode de gestion des exceptions de thread UI est contrôlée par Application.SetUnhandledExceptionMode(). La valeur par défaut est UnhandledExceptionMode.CatchException de sorte que l'événement ThreadException est déclenché et, par défaut, crée un ThreadExceptionDialog. Toutefois, si un débogueur est connecté, il remplace ce mode. De sorte qu'une exception sera toujours non gérée s'il n'y a pas de clause catch active. Pour que le débogueur s'arrête, vous permettant de diagnostiquer le problème. En écrivant votre propre essai/catch, vous empêchez cela de fonctionner.
Attention, onPaint() peut être spécial, en particulier pour PictureBox. Il a une clause try/catch, attrape une exception non gérée et peint une croix rouge. C'est un peu inhabituel mais nécessaire car il prend en charge la propriété ImageLocation. Ce qui lui permet d'afficher des images à partir d'une source réseau potentiellement non fiable. La meilleure façon de résoudre les exceptions dans ce cas est de déboguer + Exceptions, cochez la case Lancer. Cela force le débogueur à toujours s'arrêter sur une exception, même si elle n'est pas non gérée.
Je trouve bizarre qu'il ne fasse pas la différence entre le chargement d'image échoué et les exceptions lancées dans OnPaint. – mafu
- 1. Comment intercepter une exception Microsoft.SharePoint.SoapServer.SoapServerException?
- 2. Comment intercepter et gérer une exception AntiForgeryToken?
- 3. Nodejs: Comment intercepter une exception du middleware?
- 4. Comment intercepter une exception NotImplementedException dans une application WPF?
- 5. Comment obtenir ruby pour sortir une exception dans un thread?
- 6. intercepter des exceptions d'un autre thread
- 7. Comment intercepter l'exception dans le thread principal si l'exception se produit dans le thread secondaire?
- 8. Comment passer une exception d'un thread à un autre thread (appelant) dans Delphi?
- 9. Dans wxwidgets, comment verrouiller un vecteur partagé entre un thread graphique et un thread de travail?
- 10. comment résoudre cette exception: Exception dans le thread « principal » java.lang.ArrayIndexOutOfBoundsException
- 11. thread STA Abandonner Exception
- 12. Exception d'abandon de thread
- 13. comment intercepter une exception ou une erreur dans la vue Site.master de l'application ASP.NET MVC?
- 14. Exception Croix-Thread Invalid Object Exception
- 15. Toute valeur pour intercepter une exception et la relancer immédiatement?
- 16. Pouvez-vous relancer une exception .NET sur un thread différent?
- 17. Exception dans le thread "principal" java.lang.NoSuchMethodError: principale
- 18. Interface graphique avec socket dans un autre thread
- 19. En C# comment afficher une interface graphique d'une autre interface graphique, basée sur l'événement d'une classe dans un autre thread?
- 20. Comment intercepter une exception dans VB.NET lors de l'utilisation de jQuery ajax
- 21. Comment changer une variable dans un thread?
- 22. Comment intercepter une touche dure enfoncée dans un service?
- 23. Exception de thread secondaire NUnit
- 24. Exception dans le thread "principal" java.lang.NoClassDefFoundError
- 25. exception graphique dans l'application .net (C#)
- 26. Utilisation d'exceptions dans un boost :: thread thread
- 27. Comment puis-je ajouter un élément à un ListView d'un autre thread sans provoquer une exception
- 28. Comment enregistrer une exception dans un fichier?
- 29. Où puis-je intercepter une exception EndpointNotFoundException pour un appel WCF asynchrone?
- 30. Comment intercepter l'exception sur RollBack
WinForms ou WPF? – Richard