![]() |
1
159
你可以处理
编辑:实际上,这个活动可能更合适:
|
![]() |
2
488
可以在不同级别捕获未处理的异常:
您应该考虑在什么级别捕获未处理的异常。 决定2和3取决于您是否使用了多个wpf线程。这是一个非常奇特的情况,如果你不确定你是不是,那么很可能你不是。 |
![]() |
3
109
application.dispatcher.unhandledexception的代码示例:
我在app.xaml.cs中添加了此代码 |
![]() |
4
41
每当发生未处理的异常时,我在wpf应用程序中使用以下代码来显示“抱歉给您带来不便”对话框。它显示异常消息,并询问用户是否想要关闭应用程序或忽略异常并继续(后者的情况在发生非致命异常时是方便的,用户仍然可以正常地继续使用应用程序)。 在app.xaml中添加启动事件处理程序:
在app.xaml.cs代码中,添加将注册全局应用程序事件处理程序的启动事件处理程序函数:
|
![]() |
5
17
最好的答案可能是 https://stackoverflow.com/a/1472562/601990 是的。 下面是一些说明如何使用它的代码: 代码文件
|
![]() |
6
11
除上述职位外:
将不会捕获从另一个线程(然后是主线程)引发的异常。您必须在它的实际线程上处理这些异常。但是,如果要在全局异常处理程序上处理它们,可以将其传递给主线程:
|
![]() |
7
3
为了补充托马斯的回答,
|
![]() |
8
3
一个完整的解决方案是 here 用示例代码解释得很好。但是,请注意不要关闭应用程序。 application.current.shutdown(); 优雅地关闭应用程序。 |
![]() |
9
2
如上所述
这取决于线程是如何创建的 application.current.dispatcherunhandledexception未处理的一个案例是system.windows.forms.timer,可以使用application.threadexception处理这些 如果在主线程以外的其他线程上运行窗体,则需要从每个此类线程设置application.threadexception |
![]() |
Fahim B · 删除id号之间的空格[重复] 8 月前 |
![]() |
Matt Schaaf · 如何获得每15分钟生成的数据点的日均值? 1 年前 |