java - Java 中 validator 异常的最佳方法是什么?

标签 java validation

我是否应该为每种验证创建专门的异常,例如:

public void doSomething(Text text) {
   if (!text.isAlphaNumeric()) throw new NonAlphaNumericException("Text should be alphanumeric");
   if (text.isBlank()) throw new BlankException("Text should not be empty or null");
   ...
}

或者,我应该做一个通用异常,例如:

public void doSomething(Text text) {
   if (!text.isAlphaNumeric()) throw new TextValidationException("Text should be alphanumeric");
   if (text.isBlank()) throw new TextValidationException("Text should not be empty or null");
   ...
}

最佳答案

如果使用第一种方法,那么调用者可以单独处理每个异常:

try
{
    doSomething(new Text("blah blah"));
}
catch(NonAlphaNumericException e){/* do something */}
catch(BlankException e){/* do something else */}

关于java - Java 中 validator 异常的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17954936/

相关文章:

java - 如何在HiveMQ Client中接收多条消息? (MQTT)

java opencv native 库和内存限制

java - merge如何避免LazyInitException?

java - 如何在java中同步静态方法

validation - GWT JSR 303 客户端验证

jquery - ASP.NET MVC 4 : client validation not work

reactjs - Material Ui - 在 "select"模式下向 TextField 添加所需属性

java - JAXB生成奇怪的html标签

javascript - 当其他模型发生变化时,如何强制在模型上运行验证?

ruby-on-rails-3 - Rails 3 基于 Action 验证规则