我一直在尝试为我的程序编写外部类库。这将是一个更容易实现的全局异常处理程序。我已经看了this question here。我已经在自己的项目代码中实现了这一点。我现在的目标是将该代码放在一个可以实例化的库中,这样它就可以轻松处理异常而不会有任何麻烦。
Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
End Sub
以上是我主要表单中的处理程序。现在,在类库中,如何在调用New()
时创建处理程序?我已尝试添加m As My.MyApplication
之类的参数,但是我收到此错误:
'米'无法公开类型' MyApplication'在项目之外通过课程' xxx'。
虽然我知道这是一个很长的镜头,但我完全没有任何线索。
是否有人能够指导我如何处理这个问题?
亲切的问候, 亚历克斯。
答案 0 :(得分:1)
如果您使用AppDomain.UnhandledException
event,则可以这样做。它是整个.NET Framework的一部分,而不仅仅是Visual Basic。
Public Sub AppDomain_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs)
Dim ex As Exception = DirectCast(e.ExceptionObject, Exception)
'Do your logging of 'ex' here.
End Sub
在代码的其他部分:
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf <some class here>.AppDomain_UnhandledException