在VB中是否有类似于MyApplication_UnhandledException的用户控件? 我想有一个中心点来捕获用户控件的所有未处理的异常,而不会将异常传播到使用用户控件的应用程序。如何在自定义控件中捕获未处理的异常
我做了一些测试,在没有try/catch代码的情况下(当然在真正的项目中,所有方法都有try/catch块),在我的用户控件的方法中引发异常。 使用用户控件的应用程序的MyApplication_UnhandledException事件捕获异常。 但是,从发生异常的地方来看,这太“遥远”了,在最坏的情况下,用户应该重新启动应用程序。
我想实现用户控件的行为,以便如果用户控件失败,异常不会传播到应用程序,而只是捕获到用户控制级别。
有什么建议吗?谢谢。
编辑:我忘了说我说的是WinForm
这将是使用Application.ThreadException事件而不是MyApplication_UnhandledException事件的优点吗? – gingo 2012-01-06 09:14:16
最大的不同之处在于,允许用户忽略Windows窗体线程中引发的异常可能允许程序继续成功运行。例如,如果开发人员忘记向按钮单击事件添加异常处理程序,则ThreadException可能会报告异常并询问用户是否要继续。如果他们这样做,这个例外将被忽略;如果他们不这样申请可能会被终止。 – 2012-01-06 09:27:33
好吧,如果我明白了,我更喜欢在应用程序级别的ThreadException。通常在应用程序中同时使用ThreadException和MyApplication_UnhandledException? – gingo 2012-01-06 10:07:25