none
我写了几个Page页面,放在不同的dll里面,动态加载的时候我要如何及时的处理异常? RRS feed

  • 问题

  • 我写了几个page放在dll中,运行的时候动态加载并放到TabItem的Content中。

    但是当page出现异常后,我只能在Application_DispatcherUnhandledException中才能捕获到异常。

    我要如何才能更早一点捕获到异常呢?

    窗口启动顺序:

    MainWindow -> PagePanel -> Page1,Page2,Page3

    PagePanel启动通过ShowDialog显示,我在这里使用try catch无法捕获到异常。

    2018年12月5日 3:02

答案


  • Hi   8008208820Hell,

    >>但是当page出现异常后,我只能在Application_DispatcherUnhandledException中才能捕获到异常。
    我要如何才能更早一点捕获到异常呢?

    最早能捕获的异常,是你在Page中try catch 并捕获到的异常。 如果Page 发生你未知的异常,这个异常没有被Page 页面处理,将会抛出异常从而被Application_DispatcherUnhandledException捕获。

    所以,针对你可能发生的未知异常,你没有办法提前捕获。

    所以,在Page页面尽量处理已知和可能发生的异常。 其他未知异常在调试的期间逐步获取,并改善代码。减少未知异常。

    Best Regards,

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年12月5日 5:51
    版主

全部回复


  • Hi   8008208820Hell,

    >>但是当page出现异常后,我只能在Application_DispatcherUnhandledException中才能捕获到异常。
    我要如何才能更早一点捕获到异常呢?

    最早能捕获的异常,是你在Page中try catch 并捕获到的异常。 如果Page 发生你未知的异常,这个异常没有被Page 页面处理,将会抛出异常从而被Application_DispatcherUnhandledException捕获。

    所以,针对你可能发生的未知异常,你没有办法提前捕获。

    所以,在Page页面尽量处理已知和可能发生的异常。 其他未知异常在调试的期间逐步获取,并改善代码。减少未知异常。

    Best Regards,

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年12月5日 5:51
    版主
  • 好的,感谢
    2018年12月5日 8:23