カテゴリ: VB.NET 更新日: 2026/01/06

VB.NETでカスタム例外クラスを作成する方法を完全解説!初心者でもわかる例外処理入門

VB.NETでカスタム例外クラスを作成する方法
VB.NETでカスタム例外クラスを作成する方法

先生と生徒の会話形式で理解しよう

生徒

「VB.NETの例外処理で、エラーの名前を自分で決めることってできるんですか?」

先生

「できますよ。それをカスタム例外クラスと呼びます。」

生徒

「カスタムってことは、オリジナルのエラーを作れるってことですか?」

先生

「その通りです。VB.NET初心者の方でも、順番に理解すれば難しくありません。」

1. カスタム例外クラスとは何か?

1. カスタム例外クラスとは何か?
1. カスタム例外クラスとは何か?

VB.NETのカスタム例外クラスとは、自分で名前や意味を決められるオリジナルの例外です。 例外とは、プログラムが実行中に「これは困った」と判断した出来事を知らせる仕組みでした。

既に用意されている例外には「0で割った」「文字を数字にできない」などがありますが、 現実のプログラムでは「会員番号が不正」「年齢がルール外」など、もっと分かりやすいエラーを作りたい場面があります。

そんなときに使うのが、VB.NETでカスタム例外クラスを作成する方法です。

2. なぜカスタム例外が必要なのか

2. なぜカスタム例外が必要なのか
2. なぜカスタム例外が必要なのか

初心者の方は「普通のExceptionで十分では?」と思うかもしれません。 しかし、カスタム例外を使うと、何が原因で失敗したのかがとても分かりやすくなります。

たとえば、病院の受付で「エラーです」とだけ言われるよりも、 「保険証が見当たりません」と言われた方が対応しやすいですよね。

VB.NETのカスタム例外も同じで、エラーの意味を名前で表現できるのが大きなメリットです。

3. カスタム例外クラスの基本的な作り方

3. カスタム例外クラスの基本的な作り方
3. カスタム例外クラスの基本的な作り方

VB.NETでカスタム例外クラスを作るときは、必ずSystem.Exceptionを継承します。 継承とは「親の機能を引き継ぐ」ことです。

ここでは「年齢が不正なとき」に使う例外クラスを作ってみます。


Public Class AgeException
    Inherits Exception

    Public Sub New(message As String)
        MyBase.New(message)
    End Sub
End Class

これだけで「AgeException」というカスタム例外クラスが完成です。 System.Exceptionの仕組みをそのまま使っているので、難しい処理はありません。

4. カスタム例外を発生させてみよう

4. カスタム例外を発生させてみよう
4. カスタム例外を発生させてみよう

次に、作成したカスタム例外クラスを実際に使ってみます。 ここでは年齢が0未満のときに例外を発生させます。


Module Module1
    Sub Main()
        Dim age As Integer = -1

        If age < 0 Then
            Throw New AgeException("年齢は0以上で入力してください")
        End If

        Console.WriteLine("年齢:" & age)
    End Sub
End Module

Throwは「例外を投げる」という意味の命令です。 プログラムが「これ以上進めない」と判断したときに使います。

5. カスタム例外をCatchで受け取る方法

5. カスタム例外をCatchで受け取る方法
5. カスタム例外をCatchで受け取る方法

発生させたカスタム例外は、Try ~ Catchで受け取ることができます。 名前が付いているので、どのエラーか一目で分かります。


Try
    Dim age As Integer = -5
    If age < 0 Then
        Throw New AgeException("年齢が不正です")
    End If
Catch ex As AgeException
    Console.WriteLine(ex.Message)
End Try

年齢が不正です

このように、VB.NETではカスタム例外専用のCatchを書くことができます。 これにより、エラー処理がとても読みやすくなります。

6. メッセージ以外の情報を持たせる考え方

6. メッセージ以外の情報を持たせる考え方
6. メッセージ以外の情報を持たせる考え方

カスタム例外クラスには、必要であれば情報を追加できます。 ただし、初心者の段階では「メッセージを分かりやすくする」だけで十分です。

重要なのは「このエラーは何を意味しているのか」を、 プログラムを読む人に伝えることです。

VB.NETの例外処理は、人に優しいプログラムを作るための仕組みでもあります。

7. カスタム例外を使うときの考え方

7. カスタム例外を使うときの考え方
7. カスタム例外を使うときの考え方

カスタム例外クラスは、なんでもかんでも作れば良いわけではありません。 「これは特別に伝えたい失敗だ」と感じたときに使うのがポイントです。

VB.NETで例外処理を学ぶと、プログラムの安全性や読みやすさが大きく向上します。 System.Exceptionを土台にしたカスタム例外は、その第一歩です。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある勘違いとして「エラーが出ないようにするための仕組み」と思われがちですが、 例外処理は「エラーが起きたときの対応」を書くためのものです。

VB.NETでカスタム例外クラスを作成する方法を知ると、 エラーが怖いものではなく、味方だと感じられるようになります。

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET Web APIとMVCの違いを完全解説!初心者でもわかるWebアプリとAPIの基本
New2
ASP.NET
ASP.NET開発環境構築|コマンドライン(dotnet CLI)でASP.NETプロジェクトを作成する方法
New3
VB.NET
VB.NETで文字列を綺麗に整える!String.Formatと文字列補間の使い方
New4
ASP.NET
LinuxでASP.NET Coreを動かす手順|初心者でもわかる開発環境構築ガイド
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのJoinメソッドを徹底解説!バラバラの文字列を一つに結合する方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETで文字列結合を高速化!StringBuilderクラスの使い方を完全ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETのList(Of T)の使い方を完全ガイド!初心者が最初に覚えるべきリスト操作
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのDictionaryを完全ガイド!初心者でもわかる辞書の基本と応用
No.7
Java&Spring記事人気No7
VB.NET
VB.NETでStaticメソッドを定義する方法と活用例
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで正規表現をマスター!初心者でもわかる文字列検索・抽出の基本