●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

VBのエラーハンドリング(Error Handling)について

Visual Basic(VB)における エラーハンドリング(Error Handling) とは、実行中に発生するエラーを適切に処理し、プログラムが途中で停止しないようにするための仕組みです。ファイル読み込みや数値変換など、予期しないトラブルが起こる可能性のある処理では必須となります。

基本構文:Try...Catch...Finally

Try
    ' エラーが起こるかもしれない処理
Catch ex As Exception
    ' エラーが発生したときの処理
Finally
    ' 最後に必ず実行される処理(省略可)
End Try

例:

Try
    Dim num As Integer = CInt("abc")  ' 数値に変換できない
Catch ex As Exception
    MsgBox("エラーが発生しました:" & ex.Message)
Finally
    MsgBox("終了処理を行います")
End Try

Catchブロックの役割

Catchブロックでは、発生した例外を Exception オブジェクトとして受け取り、内容(ex.Message)を表示・記録・再処理することができます。

Finallyブロックの使いどころ

Finally ブロックは、エラーの有無に関わらず最後に必ず実行される処理です。ファイルのクローズやメモリ解放など、後処理に使われます

特定の例外型を指定する

一般的な Exception だけでなく、IOExceptionFormatException など、特定の種類の例外だけを捕捉することも可能です。

Try
    Dim value As Integer = Integer.Parse("abc")
Catch ex As FormatException
    MsgBox("形式が正しくありません")
Catch ex As Exception
    MsgBox("その他のエラー:" & ex.Message)
End Try

エラーを自分で発生させる(Throw)

条件に応じて自分でエラーを発生させる場合は Throw を使います。

If price < 0 Then
    Throw New ArgumentException("価格は0以上でなければなりません")
End If

On Error Resume Next(非推奨)

VBでは古くから On Error Resume Next というエラースキップ方法もありますが、処理の流れがわかりにくくなるため、現在はTry...Catch構文の使用が推奨されています。

実用例:ファイル読み込み時のエラーハンドリング

Try
    Dim content As String = My.Computer.FileSystem.ReadAllText("sample.txt")
    MsgBox(content)
Catch ex As IO.FileNotFoundException
    MsgBox("ファイルが見つかりません")
Catch ex As Exception
    MsgBox("エラー:" & ex.Message)
End Try

まとめ

エラーハンドリングは、予期しないトラブルに対する備えとして、信頼性の高いアプリケーションを作成する上で欠かせない技術です。Try...Catch によって安全に処理を行い、Finally で後始末を忘れずに実行することで、安定したプログラムを実現できます。

 

VB関連用語集

−−−−−  VB  −−−−−

VBの変数について

VBの定数(Constant)について

VBのデータ型(Data Type)について

VBの文字列(String)について

VBの整数型(Integer)について

VBの浮動小数点数型(Double / Single)について

VBの論理型(Boolean)について

VBの配列(Array)について

VBの構造体(Structure)について

VBのクラス(Class)について

VBのメソッド(Method)について

VBの関数(Function)について

VBのプロシージャ(Sub)について

VBのイベント(Event)について

VBのイベントハンドラ(Event Handler)について

VBのフォーム(Form)について

VBのコントロール(Control)について

VBのボタン(Button)について

VBのテキストボックス(TextBox)について

VBのラベル(Label)について

VBのプロパティ(Property)について

VBのIf文(If Statement)について

VBのSelect Case文について

VBのFor文(For Loop)について

VBのDo While文(Do Loop)について

VBのエラーハンドリング(Error Handling)について

VBのTry...Catch構文について

VBのInputBox関数について

VBのImportsステートメントについて