当前位置:  开发笔记 > 编程语言 > 正文

如何拦截WPF应用程序中的NotImplementedException?

如何解决《如何拦截WPF应用程序中的NotImplementedException?》经验,为你挑选了1个好方法。

如何拦截WPF应用程序中的NotImplementedException?

我在测试正在进行的WPF应用程序时偶尔会抛出一个NotImplementedException:

Private Sub ButtonDoSomething_Click(...) Handles ButtonDoSomething.Click
    Throw New NotImplementedException( _
        "ButtonDoSomething_Click() not implemented.")
End Sub

但是,我宁愿这些也不会让程序崩溃.

我可以用以下内容替换所有此类异常抛出:

MessageBox.Show("ButtonDoSomething_Click() not implemented.", _
    "Not Implemented", MessageBoxButton.OK, MessageBoxImage.Information)

但是,如果将NotImplementedException从界面中隐藏起来,那么这似乎不合时宜并且不起作用.

如何捕获所有此类异常并显示消息框?



1> casperOne..:

您可以附加到Application类上的DispatcherUnhandledException事件,该事件将在发生未处理的异常时生成.在那里,您可以检查传递给事件处理程序的DispatcherUnhandledExceptionEventArgs实例上的Exception属性,以查看它是否为NotImplementedException类型.如果是,则将Handled属性设置为true,然后返回.

应该注意的是,如果你调用MsgBox而不是抛出异常,你就会遇到必须实际返回一些东西并设置所有out/ref参数的问题,这可能是额外的开销.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有