- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
建议的重复是关于DispatcherUnhandledException
,而不是AppDomain.CurrentDomain.UnhandledException
。
原创:
应该在哪里订阅AppDomain.UnhandledException
? MSDN 上的示例只是在 Main
中显示它,这是我在 Winforms 中所做的:我在 Program.Main 中订阅它:
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
但是我在隐藏了 Main
的 WPF 中找不到合适的位置。我搜索过,但主要是找到关于是否订阅它的讨论,假设读者现在会去哪里。
最佳答案
假设您在 Visual Studio 中使用默认模板创建了项目,您应该有一个名为 app.xaml
的文件,在它下面还有另一个名为 app.xaml.cs
的文件.
在 App
类中,您可以将其添加到 OnStartup
的开头(连同 Dispatcher.UnhandledException
):
protected override void OnStartup(StartupEventArgs e)
{
// don't forget to call base implementation
base.OnStartup(e);
Dispatcher.UnhandledException += Dispatcher_UnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
}
实际上,Dispatcher.UnhandledException
在大多数情况下应该足够了。这意味着您可以完全跳过使用 AppDomain.CurrentDomain.UnhandledException
。还注册到 AppDomain.CurrentDomain.UnhandledException
的唯一原因是在主 UI 线程以外的线程中引发异常。但我认为更好的做法是在各自的线程中实际捕获这些异常。
关于c# - 应该在哪里订阅 AppDomain.UnhandledException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30325017/
我正在调查奇怪的 WPF 多线程应用程序挂起,这种挂起在生产机器上比在开发机器上更容易随机发生。 我添加了 Application.Dispatcher.UnhandledException 和 Cu
如题。 我一直在谷歌搜索并阅读 threads ... 我很确定没有其他地方可以使用 e.Handle 来阻止异常冒泡到 UnhandledException 处理程序。 我测试我的代码如下: 应用程
我有一个应用,尽管存在以下处理程序,但有时会意外终止 AppDomain.CurrentDomain.UnhandledException,Application.Current.Dispatcher
根据 Microsoft 文档,当线程(来自线程池或使用 System.Threading.Thread 类创建)发生未处理的异常时,应为应用程序的默认 AppDomain 触发 AppDomain.
我正在编写一个小库来捕获所有未处理的异常,显示一个小对话框(类似于 NF 的常用对话框),让用户有机会将异常发送给开发人员。为此,我像这样使用 AppDomain 的 UnhandledExcepti
我们有一个 .NET 3.5 程序集 (dll),由 VB6“代理”(exe) 通过 COM 接口(interface)执行。 VB6 代码调用: ' Ensure that no system di
我在全局范围内捕获异常并且它工作正常,除了应用程序在 UnhandledExceptions 上没有恢复的部分。 . 我在 MSDN 上读过,为了允许调度程序异常捕获未处理的非 UI 异常,我需要做以
我试图在我的应用程序中捕获所有未处理的异常,以便有条件地处理那些可以在不终止应用程序的情况下发生的异常,但我无法解决一个非常基本的问题:它不会停止异常。代码中某处抛出未处理的异常,它出现在这里,显示消
在我的应用程序中,每当出现任何未处理的异常时,我都想显示一个消息对话框。但是似乎在抛出未处理的异常时没有出现对话框消息,显示消息弹出窗口是否有效?同样在 MSDN 文档中,我没有找到太多相关信息。 下
我目前正在开发一个完全模块化的 .NET 应用程序,其中: 有加载模块 DDL 的主机应用程序。模块 DDL 具有可以多次打开的形式。 您可以卸载应用程序域。这将导致模块的所有打开形式被关闭。 我想做
在我的 App.xaml.cs 中,我创建了一个处理程序来响应 AppDomain.CurrentDomain.UnhandledException事件。 在处理程序中,我需要调用一个异步方法来发送有
我正在使用 AppDomain 提供的 UndhandledException,我所做的基本上是这样的: static void Main(string[] args) { AppDo
建议的重复是关于DispatcherUnhandledException,而不是AppDomain.CurrentDomain.UnhandledException。 原创: 应该在哪里订阅AppDo
我有一个非常简单的线程。 Thread 对象所做的唯一事情就是throw new Exception();。我这样做的原因是因为我需要测试如果异常发生在我的应用程序的单独线程中会发生什么。我已经用“真
在下面的代码片段中,为什么在单元测试中抛出异常时附加的处理程序(AppDomain.CurrentDomain.UnhandledException 事件)不会启动? 我在 VS2010 上使用 NU
情况 好吧,正如您在下面看到的,我有一个主应用程序,它创建了一个线程,它创建了一堆后台 worker 。当 RunWorkerCompleted 在某些 BG worker 上被触发时,我有时最终会丢
我有一个带有绑定(bind)到 Application.CurrentDomain.UnhandledException 的事件处理程序的 .NET 程序。 运行带有调试的程序时,当抛出未处理的异常时
由于未处理的 XAML 异常,有时会引发我的应用程序中的 UnhandledException 处理程序。 UnhandledExceptionEventArgs 包含消息 E_RUNTIME_SET
我正在尝试创建一个 AppDomain 并从 F# 附加到它的 UnhandledException 事件,但我运气不佳。在我的事件处理程序中,我需要对触发事件的域以及事件参数的引用。 要重现此问题,
当 AppDomain 有未处理的异常时,您可以处理 AppDomain.CurrentDomain.UnhandledException 事件。 但是,您无法阻止 AppDomain 关闭。你不能只
我是一名优秀的程序员,十分优秀!