私はこのようなコードがある場合:何のクリーンアップを想定していない例外
void a()
{
try
{
b();
}
catch (MyException)
{
// Handle any problems that occurred in b(c(d()))
}
}
void b()
{
c();
// Do something else
}
void c()
{
d();
// Do something else
}
void d()
{
// Do something, throw a MyException if it fails
}
は、任意の時点で必要であり、それは、try {}キャッチ置くのがベストです{スローを;} c()のd()呼び出しとb()のc()呼び出しの間にd()バブルから例外を自然に取り除くことはOKと見なされますブロック?
余分なtry/catchブロックが一種の「ドキュメント」として機能すると思われますが、余計なように見えるので、他の人が最良の方法を考えると思っています。
申し訳ありませんこれはあまりにも基本的すぎる場合は、私は例外の周りに私の頭を取得しようとしているが、私はまだ彼らのための良い感じを持っていないようです。
http://stackoverflow.com/questions/22623/-net-throwing-exceptions-best-practicesに関連する – gimpf