例外をキャッチして情報を追加し、呼び出し元のモジュールに対して新しい (強化された) 例外をスローしようとしています。
例:
void CallingMethod()
{
try
{
doStuff();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
}
void doStuff()
{
try
{
// do something here that may throw an error
}
catch(Exception e)
{
Exception e2 = new Exception("new added info", e);
throw e2;
}
finally()
{
// cleanup
}
}
しかし、エラーが発生してコンソールに書き込まれると、それは元のエラーであり、文字列「new added info」を含む新しいエラーではありません。
これは期待されていますか?新しいエラーをキャッチするにはどうすればよいですか?