C#基本

[C#] catchした例外をそのまま投げる(throw)

キャッチした例外をそのまま呼び出し元へ投げるには、throw句を使用します。

サンプル

例)catchした例外をそのまま返すサンプル


class TestClass
{
  static void Main(string[] args)
  {
    try
    {
      int a = 100;
      int b = 0;
      double x = a / b; //ここで例外が発生(ゼロ除算)
    }
    catch(Exception ex)
    {
      Console.WriteLine("例外が発生しました。:" + ex.Message);
      throw;
    }
  }
}

catch句の中のthrowで投げています。(14行目)

備考

  • catch句の中でthrowと書くと、catchした例外を呼び出し元へそのまま投げてくれます。
  • 明示的に投げる例外を指定してもOKです。
    (上の例だと、throw ex;)

関連記事

-C#基本
-