gpt4 book ai didi

wpf - 异常在我的 WPF 应用程序中被吞没。如何强制应用程序崩溃?

转载 作者:行者123 更新时间:2023-12-03 10:20:03 25 4
gpt4 key购买 nike

我是 WPF 新手,我正在使用 VS2010 beta2、.NET 4.0。
Throw new Exception("test")在我的代码中只是吞下异常并且应用程序不会崩溃。

这不是我所期望的,如果发生未处理的异常,我希望应用程序崩溃。

有没有一种简单的方法可以实现这一目标?

此外,Application.DispatcherUnhandledException也不是 AppDomain.UnhandledException被执行。这可能是因为所有代码都是作为数据绑定(bind)的一部分执行的(我使用的是 MVVM 模式,并且在 ViewModel 构造函数中引发了异常)。

在调试时,我可以查看输出窗口并找出问题所在。但在我看来很奇怪,该应用程序只是忽略了错误,使 UI 处于不正确的状态并且不会崩溃。

编辑:

似乎在数据绑定(bind)时可能只发生非关键绑定(bind)异常。也许从绑定(bind)执行中提取与绑定(bind)不直接相关的功能(例如连接到数据库)可能是解决方案。但是我不确定如何在 MVVM 中实现它。

简化示例:

XAML:

<DataTemplate DataType="{x:Type vm:ItemViewModel}">
<vw:ItemControl />
</DataTemplate>

<ContentControl
Content="{Binding Path=MyItem}"
/>

在哪里 MyItem创建并返回 ItemViewModel 的实例.问题是 ItemViewModel 的构造函数作为数据绑定(bind)的一部分执行,我不确定这是否是一种好的做法(此构造函数包含可能失败的代码 - 例如,如果数据库不可访问)。

最佳答案

您可以捕获绑定(bind)期间引发的异常并重新抛出它们 - 参见 the answer to this question .

关于wpf - 异常在我的 WPF 应用程序中被吞没。如何强制应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171580/

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