キャッチした例外をそのまま呼び出し元へ投げるには、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;)