gpt4 book ai didi

c# - 当我的 BackgroundWorker 抛出错误时,如何防止 visual studio 弹出

转载 作者:太空狗 更新时间:2023-10-29 23:33:19 25 4
gpt4 key购买 nike

在调试我的应用程序时,我总是看到这样的消息:

An exception of type 'xxxx.xxxxx' occurred in xxxxx.exe but was not handled in user code.

问题是我的 BackgroundWorker 在它们的 DoWork 中抛出异常,然后通过检查 RunWorkerCompleted 事件中的 RunWorkerCompletedEventArgs.Error 来处理这些异常 - 它在运行时运行良好。

有什么方法可以防止 visual studio 将这些显示为“未处理”?

这不是将错误从 DoWork 返回到 UI 的正确方法吗?

我尝试让我的异常扩展 ApplicationException 并取消选中异常对话框中 ApplicationException 旁边的框,但它仍然显示。

最佳答案

您需要在 DoWork 方法调用的方法内部捕获和处理异常。我的建议是捕获异常,然后使用 ReportProgress 事件将其报告回接口(interface)以便顺利处理/通知。您永远不想“吞下”异常,但此报告将允许您优雅地记录异常或以侵入性较小的方式通知用户。

请记住,您需要使用 ReportProgress that allows the use of a custom userState 的重载以便您可以报告适当的进度或附上完整的异常(exception)情况。

关于c# - 当我的 BackgroundWorker 抛出错误时,如何防止 visual studio 弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com