次のようなコードのセクションがあります。
try
{
classVar = functionCall(input, sEnum.First);
classVar = functionCall(input, sEnum.Second);
classVar = functionCall(input, sEnum.Third);
}
catch (Exception ex)
{
Debug.Assert(false, ex.ToString());
}
しかし、私の例外は、それがどの特定の呼び出しから来たのかを示しています。スタックトレースには、関数呼び出し内から呼び出された別のクラスの詳細のみが表示されます。
これをラップする別の方法は次のとおりです。
try
{
classVar = functionCall(input, sEnum.First);
}
catch (Exception ex)
{
Debug.Assert(false, ex.ToString());
}
try
{
classVar = functionCall(input, sEnum.Second);
}
catch (Exception ex)
{
Debug.Assert(false, ex.ToString());
}
try
{
classVar = functionCall(input, sEnum.Thrid);
}
catch (Exception ex)
{
Debug.Assert(false, ex.ToString());
}
以前のバージョンよりもはるかに読みにくいと思いますが。
コードを読みやすくしながら、後でどこから来たのかを確認できるように、関数呼び出しをラップしたり、例外を渡すパターンはありますか?