● VB用エラーハンドリングフォーマット ●

自分用。

'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
' エラーが発生したら、エラー内容を表示して処理を中断
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Public Sub XXXXX_Proc()
 
    On Error GoTo ErrHandler

    'ここに通常の処理を記述する

NormalExit:
    Exit Sub

ErrHandler:
    Call MsgBox("エラーNo." & Err.Number & vbCrLf & vbCrLf & _
              Err.Description, vbExclamation, "XXXXXXX - エラー")

End Sub


'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
' エラーが発生したら、エラー内容を表示して処理を続行
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Public Sub XXXXX_Proc()
 
    On Error GoTo ErrHandler

    'ここに通常の処理を記述する

NormalExit:
    Exit Sub

ErrHandler:
    Call MsgBox("エラーNo." & Err.Number & vbCrLf & vbCrLf & _
              Err.Description, vbExclamation, "XXXXXXX - エラー")

    'エラー処理があれば記述する
    '処理…

    'エラー発生位置から処理を続行
    '当然、もうエラーが発生しないような状態になってないといけない
    'そうしないと無限エラーループとなるよ
    Resume
End Sub


'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
' エラーが発生したら、エラー処理を行い上位関数へエラーを投げる
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Public Sub XXXXX_Proc()
 
    On Error GoTo ErrHandler

    'ここに通常の処理を記述する

NormalExit:
    Exit Sub

ErrHandler:
    'エラー処理があれば記述する
    '処理…

    '上位関数へエラーを投げる
    Call Err.Raise(Err.Number)
End Sub


'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
' エラーハンドリングしたくないエラーを無視する
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Public Sub XXXXX_Proc()
 
    On Error GoTo ErrHandler

    'ここに通常の処理を記述する

    On Error Resume Next
    'ここにエラーが起きても無視してよい処理を記述する
    On Error GoTo 0

    On Error GoTo ErrHandler

    'ここに通常の処理を記述する

NormalExit:
    Exit Sub

ErrHandler:
    Call MsgBox("エラーNo." & Err.Number & vbCrLf & vbCrLf & _
              Err.Description, vbExclamation, "XXXXXXX - エラー")
End Sub

戻る