调试我的应用程序时,我会一直看到这样的消息:
xxxxx.exe中出现“xxxx.xxxxx”类型的异常 但未在用户代码中处理。
问题是我有在其DoWork中抛出异常的BackgroundWorkers,然后通过检查RunWorkerCompleted事件中的RunWorkerCompletedEventArgs.Error来处理这些异常 - 它在运行时运行良好。
有没有办法阻止visual studio将这些显示为“未处理”?
这不是将DoWork中的错误返回给UI的正确方法吗?
我尝试使异常扩展ApplicationException并取消在例外对话框中的ApplicationException旁边的框,但它仍然显示。
答案 0 :(得分:3)
您需要捕获并处理DoWork方法调用的方法中的异常。我的建议是捕获异常,然后使用ReportProgress事件将其报告回接口以便顺利处理/通知。您不希望“吞下”异常,但此报告将允许您优雅地记录异常或以较少侵入方式通知用户。
请注意,您需要使用ReportProgress that allows the use of a custom userState的重载,以便您可以报告正确的进度或附加完整的例外。