无法处理线程内的异常
本文关键字:异常 线程 处理 | 更新日期: 2023-09-27 18:23:47
语言:C#
我需要一个幕后工作人员来管理我的长期工作。我碰巧看到一个例外,我应该忽略它。当我在代码块中处理异常时,它不会被块本身捕获。相反,它被抓住了,在那里我调用了后台工作人员的工作。
问题情况
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
有人能帮我吗…
您提供的代码不会编译,因此很难确定问题所在。然而,对fun1的调用失败了,或者fun1中的catch块失败了。
我会在尝试fun1之前先放一个Debug.WriteLine("In fun1");
。如果您在输出中没有看到这一点,那么您就知道对fun1的调用失败了。如果您看到这个输出,那么您就知道catch块失败了。