Подтвердить что ты не робот

Будет ли исключение основного потока catch выбрано другим потоком?

Если у меня есть такой код:

try
{
    Thread t = new Thread(new ThreadStart(wc.LocalRunProcess));
    t.IsBackground = true;
    t.Start();
}
catch (Exception ex)
{
    //do something with ex
}

Будет ли обнаружено исключение, вызванное потоком t в блоке catch?

4b9b3361

Ответ 1

Нет. Он не поймает никаких исключений в вашем другом потоке t. Вам придется поймать их в этом потоке и поработать с ними соответствующим образом.

Однако, я считаю, что событие AppDomain UnhandedException сообщит об этом.

Ответ 2

Взгляните на System.ComponentModel.BackgroundWorker! Он имеет обработку исключений и отмены.