web-dev-qa-db-ja.com

検証を通じてスローされたドメインモデルの例外を提示する方法

私のWebアプリケーションのドメインモデルでは、pojo FooBean:Foo.newInstance(FooBean fooBean)でのみ作成できるエンティティFooを使用しています(ビルダーパターンの方が優れている場合があります)。

ファクトリメソッドnewInstance()では、pojo FooBeanが検証され、必要に応じてNullPointerExceptionsとIllegalArgumentExceptionsがスローされます。 pojoのフィールドは、プレゼンテーション層のフォームによって入力されます。このフォームは、ユーザー入力に対して何らかの検証を行い、必要に応じてユーザーフレンドリーなメッセージを表示します。

newInstance()メソッドでスローされるNullPointerExceptionsおよびIllegalArgumentExceptionsの例外メッセージはかなり技術的なものであり、エンドユーザーに表示されるべきではありません。

NullPointerExceptionまたはIllegalArgumentExceptionによって発生したユーザーフレンドリーなエラーメッセージを表示する適切な方法は何ですか?

3
Bart Weber

具体的に、早く投げ、遅くキャッチ

具体的」と「キャッチ」の両方の部分が欠けていると思います。

説明的な例外をスローし、必要に応じて適切に処理する必要があります。

3
BrandonV