相关疑难解决方法(0)

通过等待任务或访问其Exception属性,未观察到任务的异常.结果,未观察到的例外是

这意味着什么以及如何解决它?

我正在使用TPL任务.

整个错误

通过等待任务或访问其Exception属性,未观察到任务的异常.结果,终结器线程重新抛出了未观察到的异常.

在System.Threading.Tasks.TaskExceptionHolder.Finalize()

mscorlib程序

c# wpf exception task task-parallel-library

97
推荐指数
2
解决办法
4万
查看次数

BackgroundWorker中未处理的异常

我有一个小型的WinForms应用程序,它利用BackgroundWorker对象来执行长时间运行的操作.

后台操作会抛出偶然的异常,通常是当有人打开正在重新创建的文件时.

无论代码是否从IDE运行,.NET都会弹出一个错误对话框,通知用户发生了未处理的异常.使用Release配置编译代码也不会改变它.

根据MSDN:

如果操作引发了代码无法处理的异常,则BackgroundWorker会捕获异常并将其传递到RunWorkerCompleted事件处理程序,在该处理程序中,它作为System.ComponentModel .. ::.RunWorkerCompletedEventArgs的Error属性公开.如果您在Visual Studio调试器下运行,则调试器将在DoWork事件处理程序中引发未处理的异常的位置中断.

我希望有时抛出这些异常,并希望在RunWorkerCompleted事件而不是DoWork中处理它们.我的代码正常工作,并且在RunWorkerCompleted事件中正确处理错误,但我不能在我的生活中弄清楚如何停止.NET错误对话框抱怨发生"未处理的异常".

是不是BackgroundWorker应该自动捕获该错误?这不是MSDN文档中的内容吗?什么我需要做的通知.NET,这个错误被处理,同时仍允许例外propage到RunWorkerCompletedEventArgs的错误属性?

c# exception backgroundworker unhandled-exception

67
推荐指数
2
解决办法
4万
查看次数