-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