Try-catch は、例外処理を支援するためのものです。これはどういうわけか、システムをより堅牢にするのに役立つことを意味します。予期しないイベントからの回復を試みてください。
命令の実行時(メッセージの送信時)に何かが起こる可能性があると思われるので、try で囲みます。ほとんど予想外のことが起こった場合、私たちは何かをすることができます: キャッチを書きます。例外をログに記録するためだけに呼び出したとは思いません。catch ブロックは、エラーから回復する機会を与えるためのものだと思います。
さて、何が間違っていたのかを修正できたので、エラーから回復したとしましょう。再試行するのはとてもいいことです:
try{ some_instruction(); }
catch (NearlyUnexpectedException e){
fix_the_problem();
retry;
}
これはすぐに永遠のループに陥りますが、fix_the_problem が true を返すとしましょう。その後、再試行します。Java にはそのようなものがないことを考えると、この問題をどのように解決しますか? これを解決するための最適な設計コードは何ですか?
これは、私が求めているものが Java によって直接サポートされていないことを既に知っていることを考えると、哲学的な質問のようなものです。