Javaでの例外の伝播に関するガイドラインはありますか?
いつメソッドシグネチャに例外を追加しますか?たとえば、重要なプログラムリソースが欠落している場合にのみ例外がスローされ、最上位でしか処理できない場合、この例外を使用するすべてのメソッドから、エラーメソッドを使用するすべてのメソッドに例外を伝達しますか?
良い習慣はありますか?悪い習慣はありますか?
漠然としていて申し訳ありませんが、例外に関するプログラミングスタイルに関するいくつかの(一般的な)アドバイスを探しています。
過去に私を助けてきたガイドラインは次のとおりです。
メソッドはできるだけ早く処理する必要がありますが、それは理にかなっている必要があります。例外がメソッドによってスローされても意味がなく、処理できない場合は、それを別の例外にラップして、この新しい例外をスローします。
例外についての悪い習慣は、それらすべてをキャッチすることです(それはポケモンではなく、Java!)なので、catch(Exception e)
またはより悪いcatch(Throwable t)
を避けてください。