Ausnahmen auf Thread Gewinde
-
03-07-2019 - |
Frage
Siehe auch:
- Wie Ausnahmen von einem ThreadPool.QueueUserWorkItem zu fangen?
- Ausnahmen auf .Net Threadpool Threads
Wenn eine Methode eine Ausnahme auslöst, die von der ThreadPool.QueueUserWorkItem Methode aufgerufen wird, wo die Ausnahme ausgelöst werden? oder wird es nur gegessen werden?
Ich meine, es wird nie auf dem anrufenden Thread richtig geworfen werden?
Lösung
NEIN, wird die Ausnahme nie zu einem anderen Thread propagieren. Es wird schließlich den Faden zum Absturz bringen, und von der Laufzeit gefangen werden. An diesem Punkt stellt sich die Laufzeit die AppDomain.UnhandledException Ereignis, wo die Ausnahme beobachtet werden kann.
Sie können mehr über diese rel="noreferrer">.
Andere Tipps
Die Ausnahme wird Ihre Anwendung abstürzen, wenn nicht in Ihrem Thread Rückruf gefangen ist (mit Ausnahme Threadabort und AppDomainUnloadedException, die verschluckt werden). Beachten Sie, dass in .NET 1.1 alle Ausnahmen geschluckt wurden. Das Verhalten wurde geändert in .NET 2.0.
ich diesen Link gefunden: http://msdn.microsoft.com/ en-us / library / ms228965.aspx
Unbehandelte Ausnahmen werden die App in .Net 2.0 oder höher bringen. Die Ausnahme von QUWI Code wird nicht auf einem anderen Thread gefangen oder übertragen werden.
Siehe z.B. https://blog.codinghorror.com/improved-unhandled -exception-Verhalten-in-net-20 /