VB.Net在检测到错误时通过邮件发送错误

时间:2012-02-04 01:38:57

标签: vb.net

当出现问题时,我正在使用错误日志开发应用程序。它必须发送包含错误详细信息的电子邮件,以便我可以使用修复程序远程修复并上传新的更新。

我使用Try Catch Exception,但我有很多方法可以包含此选项。

如果没有这么多代码,还有其他办法吗?

2 个答案:

答案 0 :(得分:2)

由于异常冒泡到应用程序实例,请尝试使用Application.SetUnhandledExceptionMode方法。

从上面的MSDN链接:

  

通常不可能捕获所引发的所有异常   Windows窗体。使用此方法,您可以指示您的应用程序   是否应该捕获Windows抛出的所有未处理的异常   表单组件并继续运行,或者是否应该公开   它们给用户并停止执行。

Public Shared Sub Main()
    ' Add the event handler for handling UI thread exceptions to the event.
    AddHandler Application.ThreadException, AddressOf Form1_UIThreadException

    ' Set the unhandled exception mode to force all Windows Forms errors to go through
    ' our handler.
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)

    ' Add the event handler for handling non-UI thread exceptions to the event. 
    AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf CurrentDomain_UnhandledException

    ' Runs the application.
    Application.Run(New Form1()) '' This is your applications Main Form
End Sub

Private Shared Sub Form1_UIThreadException(ByVal sender As Object, ByVal t As ThreadExceptionEventArgs)

'Put Error Handling Code here see the MSDN article for an example implementation

End Sub

Private Shared Sub CurrentDomain_UnhandledException(ByVal sender As Object, _
    ByVal e As UnhandledExceptionEventArgs)

''Put Error Handling Code here see the MSDN article for an example implementation

End Sub

答案 1 :(得分:1)

抱歉,误解了你的问题。尝试将您的逻辑放在一个方法中,然后尝试在每个try catch语句中调用该方法。

示例:

Public Shared Sub Method1()

    Try
     'Method logic here
    Catch ex As Exception
        EmailError(ex)
    End Try

End Sub

Public Shared Sub EmailError(ex As Exception)

    'your remote error email logic here

End Sub