Module Module1
Sub Main()
Try
ErrNo = 1
Dim ar(2) As Integer
ErrNo = 2
ar(2) = 10
ErrNo = 3
ar(3) = 10 'ここでエラーが発生する
ErrNo = 4
Catch errObj As Exception
ErrLog(errObj)
End Try
End Sub
Public ErrNo As Int32
'エラー発生時にログを取る
Public Sub ErrLog(ByVal e As Exception)
Dim sw As System.IO.StreamWriter
sw = New System.IO.StreamWriter("ERR.log", True, System.Text.Encoding.GetEncoding(932))
sw.WriteLine(Now.ToString() + " ErrNo:" + ErrNo.ToString() + " : " + e.ToString())
sw.Flush()
sw.Close()
MsgBox("エラーが発生しました ID=" & ErrNo.ToString, MsgBoxStyle.Critical, "アプリケーションを終了させます")
'アプリケーションを終了させる
End
End Sub
End Module
Module Module1
Sub Main()
Try
'*******************************************************************
Dim ar(2) As Integer
ar(2) = 10
ar(3) = 10 'ここでエラーが発生する
'*******************************************************************
Catch errObj As Exception
ErrLog(errObj)
End Try
End Sub
Public ErrNo As Int32
'エラー発生時にログを取る
Public Sub ErrLog(ByVal e As Exception)
Dim sw As System.IO.StreamWriter
sw = New System.IO.StreamWriter("ERR.log", True, System.Text.Encoding.GetEncoding(932))
sw.WriteLine(Now.ToString() + " ErrNo:" + ErrNo.ToString() + " : " + e.ToString())
sw.Flush()
sw.Close()
MsgBox("エラーが発生しました ID=" & ErrNo.ToString, MsgBoxStyle.Critical, "アプリケーションを終了させます")
'アプリケーションを終了させる
End
End Sub
End Module
▼コンソールからPerlにてVBのソースコードを処理します
$ cat Module1.vb | perl crashlog.pl
出力結果は次のようになります
Module Module1
Sub Main()
Try
'*******************************************************************
ErrNo = 1
Dim ar(2) As Integer
ErrNo = 2
ar(2) = 10
ErrNo = 3
ar(3) = 10 'ここでエラーが発生する
ErrNo = 4
'*******************************************************************
Catch errObj As Exception
ErrLog(errObj)
End Try
End Sub
Public ErrNo As Int32
'エラー発生時にログを取る
Public Sub ErrLog(ByVal e As Exception)
Dim sw As System.IO.StreamWriter
sw = New System.IO.StreamWriter("ERR.log", True, System.Text.Encoding.GetEncoding(932))
sw.WriteLine(Now.ToString() + " ErrNo:" + ErrNo.ToString() + " : " + e.ToString())
sw.Flush()
sw.Close()
MsgBox("エラーが発生しました ID=" & ErrNo.ToString, MsgBoxStyle.Critical, "アプリケーションを終了させます")
'アプリケーションを終了させる
End
End Sub
End Module