Domanda

Correlato:


Se un metodo genera un'eccezione chiamata dal metodo ThreadPool.QueueUserWorkItem dove verrà generata l'eccezione? o sarà appena mangiato?

Voglio dire, non verrà mai lanciato sul thread chiamante, giusto?


È stato utile?

Soluzione

NO, l'eccezione non verrà mai propagata a un altro thread. Alla fine si arresterà il thread e verrà catturato dal runtime. A questo punto il runtime genera l'evento AppDomain.UnhandledException in cui è possibile osservare l'eccezione.

Puoi leggere ulteriori informazioni su questo qui .

Altri suggerimenti

L'eccezione causerà l'arresto anomalo dell'applicazione se non viene rilevata nel callback del thread (ad eccezione di ThreadAbortException e AppDomainUnloadedException ingeriti). Si noti che in .NET 1.1 sono state ingoiate tutte le eccezioni. Il comportamento è stato modificato in .NET 2.0.

Ho trovato questo link: http://msdn.microsoft.com/ it-it / library / ms228965.aspx

Le eccezioni non gestite faranno cadere l'app in .Net 2.0 o versioni successive. L'eccezione dal codice QUWI non verrà catturata o trasferita su un altro thread.

Vedi ad es. https://blog.codinghorror.com/improved-unhandled -exception-comportamento-in-net-20 /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top