私は小さなライブラリを書いていますが、その中でいくつかの異なるタイプのファイルにアクセスする必要があります。アクセス方法自体はファイル形式によって異なりますが、共通点が多いようで、データソースに接続する方法を記述したクラス階層にインターフェイスを配置しました。
ただし、データソースはパスワードやユーザー権限で保護されている可能性があるため、データを取得するために認証が必要になる場合があります。私の質問は次のとおりです。
認証が必要な場合に例外をスローすることをお勧めしますか?
実装をできるだけ公開したくないので、何が起こったのかをユーザーに伝えたいだけです。しかし、認証にはさまざまなもの(ユーザー名、パスワードなど)が必要になる可能性があるため、それらを1つの例外にまとめて、破棄することはできますか?または、「認証が必要」は、例外が通常処理するために使用される例外的な動作ではないため、例外に頼らないより良い方法があるかもしれません。
認証が必要な場合にスローする例外は何ですか?
ここで、これを処理するために例外を使用することにしたとします。どの例外をスローする必要がありますか?Java APIに同梱されているいくつか
AuthenticationException
は、ネーミングサービスで使用されるなど、非常にケース固有であるように見えるため、この要件に適合していないようです。どうすればよいかSecurityException
わかりませんが、これが不適切な場合でも、他の人が私のコードとAPIの背後で何が起こっているのかを理解するのを妨げるため、自分の例外をスローしたくありません。
ご入力いただきありがとうございます。これはやや長すぎるか、冗長すぎる可能性があるため、質問を改善する編集は大歓迎です。