-1
语言:C#无法处理线程内的异常
我使用backgroundworker来运行我的长时间工作。我碰巧看到一个我应该忽略的例外。当我在代码块中处理异常时,它不会在块本身中捕获。相反,它被抓到了,我在那里调用了背景工作者的蹲位。
问题情境
Backgroundworker1_dowork()
{
try
{
fun1();
}
catch(Exception e)
{
console.writeline("bg block");
}
}
void fun1()
{
try
{
throw new exception("ex1");
}
catch(Exception ex)
{
Console.writeline("code block");
}
}
output: bg block Expected: code block
任何一个可以帮助我...
不能不能看到什么代码产生这种行为... – 2012-02-09 04:43:52
请发布示例代码。 – 2012-02-09 04:44:22
我认为它在执行fun1()或跳过fun1()之前抛出Backgroundworker1_dowork()中的异常。查看异常的调用堆栈 – evpo 2012-02-09 05:18:16