この質問は多くのベスト プラクティスの本で取り上げられていると思いますが、それでも... ほとんどの場合、カスタム例外の間違った使い方の例を目にします。
特に、現在、コンパイラ コースのタイプ チェッカーに取り組んでいます。そのため、Map にかなり似た SymbolTable クラスがあります。通常のマップとの主な違いは、各シンボルを定義する必要があることです。そのため、挿入しようとしているキーが SymbolTable に既に存在する場合、put(String, Object) 操作は失敗するはずです。
ここで質問があります。キーを挿入しようとするときに、そのキーが既に SymbolTable に存在する場合、SymbolTable はどのように動作する必要がありますか? 私たちは持っているべきですか
boolean insert(String key, Object value);
挿入が失敗した場合に「false」を返すメソッド?または、戻り値「void」を持ち、重複値が検出されたときに例外をスローする挿入メソッドを使用する必要がありますか?
前もって感謝します:)