gpt4 book ai didi

wpf - 在 Microsoft 显示错误消息之前在 Word 加载项中捕获 C# WPF 未处理的异常

转载 作者:行者123 更新时间:2023-12-05 00:22:16 26 4
gpt4 key购买 nike

我正在使用 C# 和 WPF 开发 Microsoft Word 插件。

在我的一个窗口中,辅助类在事件中抛出异常。我希望异常冒泡到窗口级别,以便我可以捕获它并向用户显示错误消息。因为它在帮助程序类的事件中,所以我不能只用 try/catch block 包围窗口代码中的方法调用来捕获它。

Application.Current 返回 null,所以我不能使用 Application Dispatcher。

我可以使用 Dispatcher.CurrentDispatcher.UnhandledException 并向其添加 DispatcherUnhandledExceptionEventHandler。这有效 并且异常被捕获。但是,Microsoft 显示

unhandled exception occurred in your application

调用我的事件处理程序之前的错误消息。

我是不是试图以错误的方式解决这个问题,或者是否有办法抑制 Microsoft 的未处理异常错误消息?

最佳答案

使用 UnhandledExceptionFilter 在 Microsoft Word 捕获异常并抛出未处理的异常消息之前捕获异常。

Dispatcher.CurrentDispatcher.UnhandledExceptionFilter += 
new DispatcherUnhandledExceptionFilterEventHandler(Dispatcher_UnhandledExceptionFilter);

void Dispatcher_UnhandledExceptionFilter(object sender, DispatcherUnhandledExceptionFilterEventArgs e)
{
e.RequestCatch = false;
// Display error message or close the window.
}

确保将 RequestCatch 设置为 false,这样 Word 就不会处理异常。

关于wpf - 在 Microsoft 显示错误消息之前在 Word 加载项中捕获 C# WPF 未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12115030/

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