通过类库的全局异常处理程序 - 公开MyApplication?

时间:2017-04-03 08:48:08

标签: vb.net

我一直在尝试为我的程序编写外部类库。这将是一个更容易实现的全局异常处理程序。我已经看了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'。

虽然我知道这是一个很长的镜头,但我完全没有任何线索。

是否有人能够指导我如何处理这个问题?

亲切的问候, 亚历克斯。

1 个答案:

答案 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