■エラー処理なし
Private Sub コマンド0_Click()
Dim x As Long
Dim y As Long
Dim z As Long
z = 0
x = y / z
End Sub
■エラーを無視し、次の行へ移動します
< On Error Resume Next >
Private Sub コマンド1_Click()
Dim x As Long
Dim y As Long
Dim z As Long
On Error Resume Next
z = 0
x = y / z
End Sub
■エラーが発生すると、指定行に飛ばす
< On Error Goto 行ラベル >
Private Sub コマンド2_Click()
Dim x As Long
Dim y As Long
Dim z As Long
On Error GoTo Err
z = 0
x = y / z
Exit Sub
Err:
MsgBox "エラーが発生しました。"
End Sub
■エラーが発生すると、指定行に飛ばし、エラー番号で分岐させる
< On Error Goto 行ラベル >
< Err.Number >
Private Sub コマンド3_Click()
Dim x As Long
Dim y As Long
Dim z As Long
On Error GoTo Err
z = 0
x = y / z
Exit Sub
Err:
If Err.Number = 6 Then
MsgBox "オーバーフローしました。"
Else
MsgBox "不明なエラーが発生しました。"
End If
End Sub
■エラーが発生すると、指定行に飛ばし、エラー内容を表示する
< On Error Goto 行ラベル >
< Err.Description >
Private Sub コマンド4_Click()
Dim x As Long
Dim y As Long
Dim z As Long
On Error GoTo Err
z = 0
x = y / z
Exit Sub
Err:
MsgBox "エラーが発生しました。" & vbCrLf & Err.Description
End Sub