如果我有这样的代码:
try
{
Thread t = new Thread(new ThreadStart(wc.LocalRunProcess));
t.IsBackground = true;
t.Start();
}
catch (Exception ex)
{
//do something with ex
}
线程t
抛出的异常是否会在catch块中被捕获?
答案 0 :(得分:19)
没有。它不会捕获您的其他线程t
中的任何异常。你必须在那个线程中捕获它们并适当地处理它们。
但是,我相信AppDomain的UnhandedException事件会报告它。
答案 1 :(得分:4)
看看System.ComponentModel.BackgroundWorker!它有例外和取消处理。