VBA で例外処理

Sub hoge()
  いろいろ処理して例外あるときに
 Err.Raise 513, "入力画面", "値が不正です。再入力してください。" 
End Sub

'メイン関数
Sub main() 
    On Error GoTo ErrorHandler 
    hoge
  以降の処理
    Exit Sub

ErrorHandler:
    Debug.Print Err.Description

End Sub

ってやるとhogeで例外あったときに「以降の処理」は実行されず
ErrorHandlerにいく。
ちなみにRaiseは
  Err.Raise number, source, description
ってつかう。
number はユーザーが任意に使えるのは513〜65535。
descriptionに独自のエラー文言も登録できるし便利。