Ada*_*ler 5 c# exception-handling backgroundworker
在调试我的应用程序时,我会一直看到这样的消息:
xxxxx.exe中出现"xxxx.xxxxx"类型的异常,但未在用户代码中处理.
问题是我有BackgroundWorkers在他们的DoWork中抛出异常,然后通过检查RunWorkerCompleted事件中的RunWorkerCompletedEventArgs.Error来处理这些异常 - 它在运行时运行良好.
有没有办法阻止视觉工作室将这些显示为"未处理"?
这不是将DoWork中的错误返回给UI的正确方法吗?
我尝试使异常扩展ApplicationException并取消在例外对话框中的ApplicationException旁边的框,但它仍然显示.
您需要捕获并处理 DoWork 方法调用的方法内的异常。我的建议是捕获异常,然后使用 ReportProgress 事件将其报告回界面,以便顺利处理/通知。您永远不想“吞掉”异常,但此报告将允许您优雅地记录异常或以侵入性较小的方式通知用户。
请记住,您需要使用允许使用自定义 userState 的 ReportProgress重载,以便您可以报告正确的进度或附加完整的异常。