データベースへの挿入を実行する操作/メソッドがあります。いくつかのフィールドが必要であり、1 つ以上の入力が一意ではなかったり、一意である必要がある一部の内部レコードと競合したりするなど、さまざまな理由で操作が失敗する可能性があります。
saveUserInfo(primaryToken,secondaryToken,userid);
違反ごとにチェック例外をスローすることは理にかなっていますか?
私の考えでは、以下を使用することでした:
saveUserInfo(String primaryToken, String secondaryToken, String id)
throws PrimaryTokenTakenException,SecondaryTokenTakenException
このメソッドを呼び出す開発者は、新しいトークンを要求するページに Web ユーザーをルーティングすることで、このメソッドに対処する必要があります。
反対 意見 このアプローチの反対者は、私たち開発チームは、これが失敗する原因となる各エラー ケースを認識しており、代わりにエラー コードを返し、それを使用して各ケースを処理する必要があると指摘しています。
int errorCode = saveUserInfo(primaryToken,secondaryToken,userid);
チェックされたアプローチに明らかな欠点は見られません。これらのエラー ケースは発生する可能性が非常に高く、saveUserInfo() が使用されている場合は必ず対処する必要があります。まさに状況チェック例外が作成されたようです。