Je sais que je peux gérer le UnobservedTaskException
pour empêcher toute exception non observée de terminer mon application lorsque le finaliseur s'exécute sur l'objet.Gestion des exceptions de tâches non observées
Cependant, je ne sais pas où et quand je devrais configurer le gestionnaire pour cet événement. Le doc XML sur l'événement lui-même dans la classe TaskScheduler
dit:
/// This AppDomain-wide event provides a mechanism to prevent exception
/// escalation policy (which, by default, terminates the process) from triggering.
/// Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
/// instance, which may be used to examine the exception and to mark it as observed.
Est-ce que cela signifie que je besoin d'un seul gestionnaire dans l'ensemble AppDomain? Et que toutes les exceptions de tâches non observées seront traitées par cela?
Ou ai-je besoin d'un gestionnaire par assembly/par classe, et seules les exceptions non observées des tâches au sein de cette assembly/classe iront à ce gestionnaire?
C'est ce que je pensais, merci pour la réponse. – Lyall
@Drew Marsh Salut, je l'ai fait mais ne pas résolu ici: http://stackoverflow.com/questions/11831844/unobservedtaskexception-being-throw-but-it-is-handled-by-a-taskscheduler-unobser – newway