GUI アプリケーションでチェックされていない例外を処理する方法が少しわかりません。
たとえば、ユーザーが新しく作成した会社を(組み込みの)データベースに保存する機能があります。
新しく作成された会社を保存する関数は、3 つの例外をスローします。
IllegalArgumentException
: 会社または null 以外のフィールドが null の場合 (手動でチェックしてスロー)。
EntityExistException
: 会社 (その名前) が既に存在する場合。(また、手動でチェックしてスローします)。
PersistenceException
: 保存時に問題が発生した場合。(キャッチして再スロー)。
メソッドを呼び出す関数は、saveCompany
3 つの例外をすべてキャッチしてログに記録し、エラーが発生したことを示すダイアログをユーザーに表示します。
私は今、それらを捕まえる必要があるかどうか疑問に思っていますか? globalExceptionHandler
それとも、それらを(私もそれらを見ることができる)まで走らせても大丈夫でしょうか?また、私の反応はどうあるべきか疑問に思っていますか?
エラーが発生したことをユーザーに伝えてプログラムを実行する必要があるか (プログラムの他の部分が正しく機能するため)、またはユーザーに伝えてからプログラムを終了する必要があります (そこにあってはならないプログラマーのエラーであるため) ?