gpt4 book ai didi

c# - 为什么我的异常在 wpf 应用程序中没有任何区别?

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

我有一个 WPF 应用程序,它有一个 BackgroundWorker。我在这个 BGW 中抛出了一个异常,但它没有在任何地方显示!,只是后台工作人员触发了它的 WorkerFinished 事件。

它要去哪里?

最佳答案

每个线程都有自己的调用栈;异常只能向上移动它们自己的调用堆栈,它们无法“渗入”另一个线程的调用堆栈。

当您的异常冒泡到触发 DoWork 事件处理程序的 BackgroundWorker 代码时,异常将最终被显式捕获并存储在 Error 属性中,而不是允许它发生到达调用堆栈的顶部并使应用程序崩溃。

如果您希望程序在 BGW 抛出异常时结束,那么您需要处理已完成的事件,检查异常,然后重新抛出它或抛出新的异常。

关于c# - 为什么我的异常在 wpf 应用程序中没有任何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613658/

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