gpt4 book ai didi

c# - 如何处理来自 BackgroundWorker 线程的异常?

转载 作者:太空狗 更新时间:2023-10-29 18:14:27 24 4
gpt4 key购买 nike

在 WPF 应用程序中,我有一个预定的数据库访问任务,由计时器定期运行,并且该任务已在 BackgroundWorker 线程中执行。

当连接尝试失败时,我通过 try_catch 构造引发异常,并且我想在 UI 线程中更新状态栏文本。

BackgroundWorker 中是否有一些预构建事件构造来实现此目的,例如 DoWorkEventHandlerRunWorkerCompletedEventHandler,可用于此目的?如果没有,如何做得更好?

编辑(添加):

如果我想在 RunWorkerCompletedEventHandler 中处理异常,使用 e.Error 参数,它不起作用。如果我在 BackgroundWorker 线程中留下未处理的异常,应用程序挂起并且调试器指向在 BackgroundWorker 线程内执行的代码字符串,说: em>用户代码未处理异常

因此,在这种情况下,线程不仅会停止,并向 RunWorkerCompletedEventHandler 发出它因错误而停止的信号,而且整个应用程序也会停止工作。

最佳答案

RunWorkerCompletedEventHandlerRunWorkerCompletedEventArgs e 包含属性 Error,它是 Exception 类型。如果在后台线程工作期间没有发生异常,则 prpery 的值为 null。否则它包含发生的错误。

关于c# - 如何处理来自 BackgroundWorker 线程的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302760/

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