同じクラス/メソッドで例外をキャッチするのではなく、いつ例外を別のクラス/メソッドに伝播したいですか?
4 に答える
例外を処理する必要がある場所で例外をキャッチします。
経験則として、例外をバブルアップさせる必要がありますが、(おそらく予想される) エラーが原因でサブルーチンをクラッシュさせたくない場合は、例外を処理します。これには通常、エラーのログ記録や表示が含まれます。ユーザーへのエラーメッセージ。
このトピックはかなり広範です。幸いなことに、適切なリソースがすでに用意されています。
http://www.javacodegeeks.com/2012/04/exception-handling-guidelines-best.html
良い練習は「早く投げて遅く捕まえる」です。これにより、例外の原因をよりよく理解できます。
実際のコードで発生する例外の大部分は、操作を再試行するか、別の方法で実行しようとする意味のあるコードがあるという意味で回復できません。発生する唯一の回復は、現在の作業単位を規則正しい方法で中止することです (例外をログに記録し、リソースを解放するなど)。
これは、最初のルールとして、作業単位を区別する明確に定義された例外バリアに向かって常に例外を伝播する必要があることを意味します。
あなたのコードがこれとは異なるものを要求する場合、それはおそらく十分に明らかであるため、一般的に考える必要はありません。