●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

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

Visual Basic(VB)における Try...Catch構文 は、プログラム実行中に発生するエラー(例外)を安全に処理するための制御構文です。ファイル操作や数値変換、通信など、失敗の可能性がある処理には必ずTry...Catch構文を使うことが推奨されます。

基本構文

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を使うことができます。

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

Finallyブロックについて

Finally ブロックは、エラーの有無に関係なく最後に必ず実行される処理を記述します。ファイルのクローズや後処理などに使われます。

例外情報の取得

ex.Message でエラーメッセージを取得でき、ex.StackTrace でエラー発生箇所の詳細も確認できます。

Throwでエラーを再スローする

Catchブロックで一度処理したあと、他の場所にエラーを再通知したい場合は Throw を使います。

Catch ex As Exception
    ' ログだけ記録し、再スロー
    LogError(ex.Message)
    Throw
End Try

Try構文の使いどころ

  • 文字列を数値に変換(CInt, Integer.Parse など)
  • ファイルの読み書き
  • 配列の範囲外アクセス
  • 外部データベースやAPIとの通信

実用例:ファイル読み込み

Try
    Dim text As String = My.Computer.FileSystem.ReadAllText("data.txt")
    MsgBox(text)
Catch ex As IO.FileNotFoundException
    MsgBox("ファイルが見つかりません")
Catch ex As Exception
    MsgBox("予期しないエラー:" & ex.Message)
Finally
    MsgBox("処理が終了しました")
End Try

まとめ

Try...Catch構文 は、VBプログラムの信頼性を高めるために不可欠なエラーハンドリング手法です。例外の内容に応じて適切なCatchブロックを用意し、必要に応じてFinallyやThrowを組み合わせることで、安全で堅牢なアプリケーションを構築できます。

 

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ステートメントについて