C#/VB 例外の種類を取得する方法を解説|try-catch文とGetTypeメソッドの使い方

C#やVB.NETでは、プログラムの実行中に例外が発生することがあります。例外はプログラムの正常な実行を妨げ、その原因を調査することが必要になります。例外の種類を取得することは、デバッグや問題解決のために役立ちます。

この記事では、例外の種類を取得する方法を解説します。

例外の種類を取得するにはどうしたらいいですか?

ExceptionクラスのGetTypeメソッドで取得できますよ。

目次

GetTypeで例外の種類を取得する

例外の種類を取得するには、ExceptionクラスのGetTypeメソッドを使用します。
このメソッドは、例外がスローされた型を取得することができます。

Exception.GetType()

例外の種類を取得するには、以下のようにします。

try
{
    // 例外を発生させる可能性のあるコード
}
catch (Exception ex)
{
    Type exceptionType = ex.GetType();
    Console.WriteLine(exceptionType);
}
Try
    ' 例外を発生させる可能性のあるコード
Catch ex As Exception
    Dim exceptionType As Type = ex.GetType()
    Console.WriteLine(exceptionType)
End Try

 上記のサンプルでは、Tryステートメント内で例外が発生すると、Catchステートメントが実行されます。
Catchステートメント内では、Exceptionクラスのインスタンスを生成し、そのGetTypeメソッドを使用して例外の種類を取得しています。

取得した例外の種類は、Type型のexceptionType変数に格納されます。

例外の種類による分岐

例外の種類を取得することで、例外に応じた処理を行うことができます。

以下は、例外の種類によって分岐する例です。

try
{
    // 例外が発生する可能性があるコード
}
catch(Exception ex)
{
    if(ex.GetType() == typeof(System.IO.FileNotFoundException))
    {
        Console.WriteLine("ファイルが見つかりませんでした。");
    }
    else
    {
        Console.WriteLine("エラーが発生しました。");
    }
}
Try
    ' 例外が発生する可能性があるコード
Catch ex As Exception
    If ex.GetType() = GetType(System.IO.FileNotFoundException) Then
        Console.WriteLine("ファイルが見つかりませんでした。")
    Else
        Console.WriteLine("エラーが発生しました。")
    End If
End Try

上記の例では、例外が発生する可能性があるコードをtryブロック内に記述しています。例外が発生すると、catchブロックが実行され、例外オブジェクトがexという名前で宣言されます。if文で例外の種類をチェックし、応じた処理を行っています。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

C#、VB.NETでは、ExceptionクラスのGetType()メソッドを使用して、例外の種類を取得することができます。取得した例外の種類に応じた処理を行うことで、デバッグや問題

解決が容易になります。例外の種類による分岐処理を行うことで、プログラムの安定性を高めることができます。ただし、例外処理はプログラムのパフォーマンスに影響を与えることがあるため、必要最小限の例外処理を行うことが望ましいです。

また、例外が発生しないようにすることも重要です。例えば、ファイルの読み書きを行う場合は、ファイルが存在するかどうかを確認することが望ましいです。また、メモリ使用量が多すぎる場合は、メモリ使用量を削減するように修正することが望ましいです。

以上のように、例外処理はプログラムの安定性を高めるために重要な役割を果たしています。例外の種類を取得する方法を理解し、適切な例外処理を行うことで、プログラムの品質を向上させましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次