/ / Ausnahmen bei Threadpool-Threads - c #, Multithreading, Threadpool

Ausnahmen bei Threadpool-Threads - c #, Multithreading, Threadpool

Verbunden:


Wenn eine Methode eine Ausnahme auslöst, die von der ThreadPool.QueueUserWorkItem-Methode aufgerufen wird, wo wird die Ausnahme ausgelöst? oder wird es einfach gegessen?

Ich meine, es wird niemals in den aufrufenden Thread geworfen, oder?


Antworten:

4 für die Antwort № 1

NEIN, die Ausnahme wird sich niemals auf einen anderen ausbreitenFaden. Es wird schließlich den Thread zum Absturz bringen und von der Laufzeit abgefangen. Zu diesem Zeitpunkt löst die Laufzeit das Ereignis AppDomain.UnhandledException aus, bei dem die Ausnahme beobachtet werden kann.

Sie können mehr darüber lesen Hier.


4 für die Antwort № 2

Die Ausnahme führt zum Absturz der Anwendungnicht in Ihrem Thread-Callback abgefangen (außer für ThreadAbortException und AppDomainUnloadedException, die verschluckt wurden). Beachten Sie, dass in .NET 1.1 alle Ausnahmen verschluckt wurden. Das Verhalten wurde in .NET 2.0 geändert.

Ich habe diesen Link gefunden: http://msdn.microsoft.com/en-us/library/ms228965.aspx


1 für die Antwort № 3

Nicht behandelte Ausnahmen führen dazu, dass die App in .NET 2.0 oder höher heruntergefahren wird. Die Ausnahme vom QUWI-Code wird nicht abgefangen oder an einen anderen Thread übertragen.

Siehe z.B. http://www.codinghorror.com/blog/archives/000216.html