내 소프트웨어의 컴파일 된 버전을 처리하는 데 오류가 발생할 수있는 몇 가지 코드를 작성하려고합니다. 필자는 데이터베이스에 데이터를 업로드하는 속도를 높이기 위해 컴파일 된 버전으로 여러 대의 PC에서 소프트웨어를 실행해야합니다. PC 중 하나가 반복적으로 확인하지 않고 오류가 발생하면 내 주소로 전자 메일을 보내는 스크립트가 있습니다.오류 개체에서 오류 위치를 얻으십시오
이메일에 오류가 발생한 하위 번호와 오류 번호가 있습니다. 그러나 나는 또한 오류를 일으킨 라인을 원할 것이다. 나는 errorobject.erl
을 사용해 보았지만, 오류의 위치에 상관없이이 값은 제로가되었습니다. 나는 또한 errorobject.source
시도해 봤는데, 오류에 대한 자세한 위치를 알려주지 만, 이것은 단지 microsoft.visualbasic
을 반환했다. 오류의이 속성은 더 자세한 내용을 반환 할 수 있습니까?
Public Sub SendErrorReport(ByVal ErrorObject As Microsoft.VisualBasic.ErrObject, ByVal Routine As String)
'On Error GoTo Err
Dim Recipient As String = "email1; email2"
' Create an Outlook application.
Dim oApp As Outlook._Application
oApp = New Outlook.Application()
' Create a new MailItem.
Dim oMsg As Outlook._MailItem
oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem)
oMsg.Subject = "Notitia software - Error report"
oMsg.Body = "Error occurred at " & Format(Now.Hour, "00") & ":" & Format(Now.Minute, "00") & " in " & Routine & ". Error no." & Str(ErrorObject.Number) & " - " & ErrorObject.Description & vbCr & vbCr & " - Error Line: " & ErrorObject.erl
' TODO: Replace with a valid e-mail address.
oMsg.To = Recipient
' Send
oMsg.Send()
' Clean up
oApp = Nothing
oMsg = Nothing
Exit Sub
Err:
MsgBox("Error in " & Routine & ". Error no." & Str(ErrorObject.Number) & " - " & ErrorObject.Description)
End Sub
그래서 기본적으로 나는이 서브가 수신자에게 보낼 수있는 오류에 대한 정보를 증가하는 방법을 찾고 있어요 :
다음은 내 코드입니다. 당신의 도움에 많은 감사드립니다.
해당 정보가있는 System.Exception 대신 Microsoft.VisualBasic.ErrObject를 사용하는 이유가 있습니까? – PatFromCanada
VB6 또는 VBA 코드에서 오류가 생성 되었습니까? – PatFromCanada
vb.net 코드는 내가 아는 한 vb6 및 vba와 다릅니다. 그렇지 않다면 vb6을 기대하고, vb.net v2 프레임 워크에서 비주얼 스튜디오 2005에 글을 쓰고 있습니다. 그 중 어떤 것도 도움이됩니까? system.exception을 살펴보고 문제가 도움이되는지 확인합니다. – Pezzzz