エラー処理

旧来のエラー処理

VB6までは以下のようなステートメントを使ってエラー処理を行っていました。

  • On Error GoTo <Label>
  • On Error Goto 0
  • On Error Resume Next
  • Resume <Label>
  • Resume Next
  • Resume

これらは「非構造化例外処理」と呼ばれ、以下のような問題がありました。

  • Labelは構造化プログラミングにそぐわない。
  • エラーを番号で切り分けるのも分かりづらく間違いが起きやすい。

そこで、VB.netから「構造化例外処理」が導入されました。

構造化例外処理

構造化例外処理の利点次のようなものです。

  • 正常時、異常時どちらの場合でも必ず実行するような後始末の処理が書けます。
  • エラーは番号ではなく、エラーオブジェクトの種類に応じて切り分けることができます。