J'utilise l'événement suivant pour intercepter des exceptions non gérées dans le thread d'interface utilisateur principal.Attraper une exception non gérée sur des threads distincts
Application.ThreadException
Malheureusement, il ne capture pas ces erreurs non gérées dans des threads séparés. Je suis conscient de
AppDomain.CurrentDomain.UnhandledException
Cependant, cela semble fermer l'application lors du déclenchement, alors que l'ancien ne fonctionne pas.
Existe-t-il un moyen de gérer les exceptions non gérées sur des threads séparés, sans fermeture de l'application?
Oui, assurez-vous que vos fils ne jettent pas exception non gérée. Comme le dit Eric Lippert: «la meilleure chose à faire est de supposer que chaque exception non gérée est soit une exception fatale, soit une exception non gérée, dans les deux cas, la bonne chose à faire est d'arrêter immédiatement le processus. http://blogs.msdn.com/b/ericlippert/archive/2010/11/23/asynchrony-in-c-5-part-eight-more-exceptions.aspx – Ani
Vous avez oublié la meilleure partie de cet article: " Comme Ripley l'a dit, quand les choses tournent mal, vous devez enlever et attaquer le site entier de l'orbite, c'est la seule façon d'être sûr " –