カテゴリ: 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 WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
New2
VB.NET
VB.NETでStackTraceを利用してエラー箇所を特定する方法を完全解説!初心者向け例外処理入門
New3
ASP.NET
ASP.NET WebFormsでフォーム入力とデータ送信をマスター!初心者向け解説
New4
VB.NET
VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのThrowを完全ガイド!初心者でもわかる例外を自分で発生させる方法
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでデフォルト引数を設定する方法を徹底解説!初心者向け