C# - 例外をキャッチする

例外をキャッチするには、 try catch finally を使用します。

例外をキャッチする方法

using System;

try
{
    // ここに例外の発生する処理
}
catch (Exception ex)
{
    // 例外が発生したときに実行したい処理
}
finally
{
    // 例外が発生しても、しなくても、実行したい処理
}

特定の例外をキャッチする

catch の引数で 捕捉したい Exception を指定します。
using System;

try
{
    // ここに例外の発生する処理
}
catch (ArgumentException ex)
{
    // ArgumentException 発生時に実行したい処理
}
catch (System.IO.FileNotFoundException ex)
{
    // FileNotFoundException 発生時に実行したい処理
}
catch (Exception ex)
{
    // キャッチされなかった例外の処理
}
サンプルコード
using System;

try
{
    var fp = System.IO.File.Open("", System.IO.FileMode.Open);
}
catch (ArgumentException ex)
{
    Console.WriteLine("ArgumentException が発生しました");
    Console.WriteLine(ex.Message);
}
catch (System.IO.FileNotFoundException ex)
{
    Console.WriteLine("FileNotFoundException が発生しました");
    Console.WriteLine(ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("Exception が発生しました");
    Console.WriteLine(ex.Message);
}
finally
{
    Console.WriteLine("処理が完了しました");
}
サンプルコードの実行結果 サンプルコードの実行結果

検証環境

関連ページ