私が理解しているように、いくつかのオブジェクトの状態を変更する前に、Guava Preconditions を使用して高速に失敗します ( stackoverflow からの良い答えです)。そして、これは良いです。ただし、ランタイム例外がスローされ、これはアプリケーションのユーザーにとってお気に入りの例外ではありません (500 エラーなど...)。ですから、デザインの手伝いをお願いします。
多くのメソッドを宣言するインターフェースがあります。各メソッドには、制御する必要がある引数があります (例: not null)。したがって、実装クラスでは、次のような命令を使用します。
Preconditions.checkNotNull(fooObj);
ただし、この API を呼び出すプログラムは、実行時例外 (この場合は NullPointerException) が原因でクラッシュする可能性があります。
では、これらの未チェックの例外をどのように処理するのでしょうか?
ありがとうございました。
-------- EDIT アプリのレイヤー:
データ アクセス層
DTO を交換するメソッドを宣言する API
Guava を使用して API を実装し、引数をチェックするプロセス
プロセス層に応じた Web サービス