VB中的用户控件是否有类似于MyApplication_UnhandledException的内容? 我想有一个中心点,用于捕获用户控件的所有未处理的异常,而不将异常传播到使用用户控件的应用程序。
我做了一些测试,在我的用户控件的方法中引发异常,其中没有try / catch代码(当然在真正的项目中,所有方法都有try / catch块)。 使用用户控件的应用程序的MyApplication_UnhandledException事件捕获到异常。 但这与异常发生的距离太远,在最坏的情况下,用户应该重新启动应用程序。
我想实现用户控件的行为,以便在用户控件失败时,异常不会传播到应用程序,而只是在用户控件级别捕获。
有什么建议吗?谢谢。
编辑:我忘了告诉我说的是WinForm
答案 0 :(得分:1)
不,确实没有。表单线程有一个exception handler,但这也是全局的(即所有表单都参与其中)。
唯一真正的选择是在整个过程中添加适当的try / catch块。
答案 1 :(得分:0)
该异常的InnerException是否为空?有时它会下降几个级别,但您可以递归迭代,直到找到最内部的InnerException并记录该ErrorMessage&栈跟踪。