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

VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み

VB.NETの例外階層(System.Exceptionの仕組み)
VB.NETの例外階層(System.Exceptionの仕組み)

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

生徒

「VB.NETでプログラムを動かしたら、急に英語のエラーが出て止まってしまいました…これは何ですか?」

先生

「それは例外(れいがい)と呼ばれるものです。VB.NETでは、エラーが起きたときの仕組みがきちんと用意されています。」

生徒

「例外ってエラーと同じなんですか?パソコンを触ったこともなくて…」

先生

「大丈夫です。例外の考え方やSystem.Exceptionの仕組みを、身近なたとえで説明していきましょう。」

1. 例外処理とは?VB.NET初心者向けの超基本

1. 例外処理とは?VB.NET初心者向けの超基本
1. 例外処理とは?VB.NET初心者向けの超基本

VB.NETの例外処理とは、プログラムの実行中に予想外のトラブルが起きたときに、プログラムが突然止まらないようにする仕組みです。 たとえば、パソコンで電卓を使っていて「0で割り算」をしようとすると、計算できずに困りますよね。 VB.NETでも同じで、計算できない・ファイルが見つからない・文字を数字として使おうとした、などの場面で例外(Exception)が発生します。

例外は「危険を知らせるアラーム」のようなものです。VB.NETでは、そのアラームを受け取って、どう対応するかを書いてあげることができます。

2. System.Exceptionとは何か?例外の親クラス

2. System.Exceptionとは何か?例外の親クラス
2. System.Exceptionとは何か?例外の親クラス

VB.NETの例外処理の中心にあるのがSystem.Exceptionです。 これは「すべての例外の親(おや)」にあたる存在です。

パソコンに例えると、System.Exceptionは「すべてのエラーメッセージが入る大きな箱」です。 細かいエラーも、最終的にはこの箱に入ってきます。

VB.NETでは、エラーが起きると必ずSystem.Exception、またはそれを元にした例外オブジェクトが作られます。 この仕組みを例外階層と呼びます。

3. 例外階層の考え方を図書館でたとえる

3. 例外階層の考え方を図書館でたとえる
3. 例外階層の考え方を図書館でたとえる

例外階層とは、「例外が親子関係で整理されている構造」のことです。 図書館で考えてみましょう。

一番大きな分類が「本」。その下に「小説」「参考書」があり、さらに「数学の参考書」「英語の参考書」と細かく分かれます。

VB.NETでも同じで、一番上がSystem.Exception。 その下に、System.IO.IOException(ファイル関係の例外)やSystem.FormatException(文字の形式エラー)などがあります。

どんな例外でも「これは例外ですよ」と共通して扱えるのが、System.Exceptionの便利なところです。

4. VB.NETで例外が発生するシンプルな例

4. VB.NETで例外が発生するシンプルな例
4. VB.NETで例外が発生するシンプルな例

ここでは、実際にVB.NETで例外が発生する簡単なコードを見てみましょう。 パソコン初心者の方は「こういうときに止まるんだな」と感じてもらえれば大丈夫です。


Module Module1
    Sub Main()
        Dim x As Integer = 10
        Dim y As Integer = 0
        Console.WriteLine(x \ y)
    End Sub
End Module

このプログラムは「10を0で割る」ため、実行すると例外が発生します。 0で割り算はできない、というルール違反を知らせてくれているのです。

5. System.Exceptionが持っている基本的な情報

5. System.Exceptionが持っている基本的な情報
5. System.Exceptionが持っている基本的な情報

System.Exceptionには、エラーの内容を知るための情報が入っています。 代表的なものを初心者向けに説明します。

  • Message:何が起きたのかを文章で教えてくれる
  • StackTrace:どこで問題が起きたかの履歴

たとえばMessageは、パソコンが「ここで失敗しましたよ」と日本語や英語で説明してくれるメモのようなものです。


Try
    Dim n As Integer = Integer.Parse("abc")
Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

入力文字列の形式が正しくありません。

このように、System.Exceptionを使うと、エラー内容を人間が理解しやすい形で確認できます。

6. よく使われる代表的な例外クラス

6. よく使われる代表的な例外クラス
6. よく使われる代表的な例外クラス

VB.NETには、よくあるトラブルごとに専用の例外クラスが用意されています。 すべてSystem.Exceptionの子どもです。

  • FormatException:文字を数字に変換できないとき
  • DivideByZeroException:0で割り算したとき
  • IOException:ファイル操作で問題が起きたとき

「どんな失敗なのか」をクラスで分けているので、プログラム側で判断しやすくなっています。

7. すべての例外をSystem.Exceptionで受け取る意味

7. すべての例外をSystem.Exceptionで受け取る意味
7. すべての例外をSystem.Exceptionで受け取る意味

VB.NETでは、細かい例外を知らなくても、System.Exceptionひとつでまとめて受け取ることができます。


Try
    Console.WriteLine("処理開始")
    Dim a As Integer = 5
    Dim b As Integer = 0
    Console.WriteLine(a \ b)
Catch ex As System.Exception
    Console.WriteLine("エラーが発生しました")
End Try

これは「どんなエラーでもいいから、とにかく止まらずに対応する」という考え方です。 初心者のうちは、この書き方を理解するだけで十分です。

8. 例外階層を知ると何がうれしいのか

8. 例外階層を知ると何がうれしいのか
8. 例外階層を知ると何がうれしいのか

例外階層とSystem.Exceptionの仕組みを知ると、VB.NETのエラーメッセージが怖くなくなります。

「パソコンが壊れた」のではなく、「プログラムが困って助けを求めている」と考えられるようになります。

VB.NETの例外処理は、初心者から上級者まで必ず使う重要な基礎です。 System.Exceptionは、その中心にある存在だと覚えておきましょう。

カテゴリの一覧へ
新着記事
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でデフォルト引数を設定する方法を徹底解説!初心者向け