古いコードをリファクタリングしていますが、解決したいことの 1 つは、エラーの処理方法です。私は例外とその仕組みについてよく知っていますが、私が処理しようとしている状況に対して例外が最適な解決策であるかどうかは完全にはわかりません。
このコードでは、物事が検証されない場合、スタックをアンワインドする理由もメリットもありません。終わったね。船を救おうとしても意味がありません。これは、Sun Grid Engine を介して並行して実行される非対話型のコードだからです。ユーザーは介入できません。さらに、これらの検証の失敗は、実際には例外的な状況を表しているわけではありません。彼らは期待されています。
では、これにどう対処するのが最善でしょうか? 私が望んでいると確信していないことの 1 つは、失敗する可能性があるすべてのクラス メソッドの終了点です。それは維持できないようです。私が間違っている?このようなコードの障害点で、exit()
または単に呼び出すことは許容される慣行ですか? abort()
それとも、メインの一般的な catch ステートメントまで例外をスローする必要がありますか? 利点は何ですか?