Я написал этот фрагмент кода:.NET многопоточные и исключение
static void Main(string[] args)
{
Console.WriteLine("Start");
Thread secondThread = new Thread(ThrowAnException);
secondThread.Start();
Console.ReadKey();
}
static void ThrowAnException()
{
throw new Exception("Second Thread Exception");
}
}
Я понимаю, что, когда исключение происходит на втором потоке, исключение перемещается вниз стек потока, и если необработанные, ребенок нить заканчивается молча. Я вижу, что поток прерывает основной поток и ломается в методе ThrowAnException с «Исключение было необработанным».
Я запустил его как с отладкой, так и без него, и все будет одинаково.
Любые идеи, что я делаю неправильно?
Возможный дубликат [Что происходит, когда .NET-поток генерирует исключение?] (Http://stackoverflow.com/questions/1668634/what-happens-when-a-net-thread-throws-an-exception) – Euphoric
Как вы видите, что поток прерывает основной поток? – Timbo
'детская нить завершается молча" - где вы столкнулись с этим? – YK1