メモの日々


2018年08月31日(金) [長年日記]

[c#] C#ですべての例外をcatchする

C#ではcatchに引数を指定しなければすべての例外を捕捉してくれる。この記法は分かりやすくてよい。

catch 句は、引数なしで使用してすべての種類の例外をキャッチできますが、この使用方法はお勧めできません。

「お勧めできません」とあるが、すべての例外をキャッチしたいケースはあるだろう。

var oldValue = value;
try
{
    value = newValue;
    A.Process(value);
}
catch
{
    value = oldValue;
    throw;
}