VB.NETで例外を操作する方法まとめ

ここではVB.NETで例外を操作する方法をいくつか紹介します。

代表的な例外の種類

ここでは、VB.NETで代表的な例外の種類を紹介します。

・添え字(インデックス)が範囲外の場合
→ArgumentOutOfRangeException

・データベースへの接続ができなかった
→OleDbException

・入出力エラー
→IOException

・ファイルがない
→FileNotFoundException

・フォルダがない
→DirectoryNotFoundException

例外やエラーの発生した場合の処理を記述する方法

ここでは、VB.NETで例外やエラーの発生した場合の処理を記述する方法を紹介します。

VB.NETで例外やエラーの発生した場合の処理を記述するには、try-catchを使います。

<サンプル>

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Try
Dim str1, str2 As Integer
str1 = TextBox1.Text
str2 = TextBox2.Text
MsgBox(str1 & str2)

Catch ex As Exception
MsgBox(“エラーが発生しました”)

End Try

End Sub
End Class

このプログラムでは、テキストボックスの値(String型)をInteger型の変数に格納しようとしてエラーが発生します。

エラーが発生する可能性のある場所、エラーを検知したい場所をtryからcatchの間に記述します。catchからend tryの間にエラーが発生したときに実行する処理を書きます。

例外のメッセージ内容や場所を取得する方法

ここでは、VB.NETで例外のメッセージや場所を取得する方法を紹介します。

VB.NETで例外のメッセージや場所を取得するには、Exceptionクラスのメソッドを使います。

・Exceptionのメッセージ
→Exceptopn.Message

・Exceptionの場所
→Exceptopn.StackTrace

・例外のタイプ
→Exception.GetType

例外・Exceptionをスローする方法

ここでは、VB.NETで例外・Exceptionをスローする方法を紹介します。

VB.NETで例外・Exceptionをスローするには、throwを使います。

<サンプル>

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Try
Throw New Exception(“エラー”)
Dim str1, str2 As Integer
str1 = TextBox1.Text
str2 = TextBox2.Text
MsgBox(str1 & str2)

Catch ex As Exception
MsgBox(ex.Message)

End Try

End Sub
End Class

ここでは、「Throw New Exception(“エラー”)」で新しくExceptionをNewしてスローしています。これで一行目で無理やりエラーを発生させています。