我有一种方法,可能会收到无效的输入值或带有相关错误消息的输出。
对于这两种情况,我都想抛出一个异常,因此这两种情况都可能在单个方法调用中发生,因此当异常同时发生时,如何将其作为单个异常处理!
最佳答案
看起来您正在尝试使用异常进行验证。这可能有用,但是如果您想获得所有与您要验证的东西不符的东西,那么您需要做一些不同的事情。一点伪代码可以让您大致了解:
public ValidationResult validateInput(Input input) {
ValidationResult result = new ValidationResult();
if (input.someField() == null) {
result.addError("Some field cannot be null");
}
//etc
return result;
}
这个想法是,您有一个ValidationResult对象,该对象将存储输入错误的所有内容。验证完成后,您可以按以下方式进行处理:
ValidationResult result = validateInput(someInput);
if (result.hasErrors()) {
for (ErrorMessage message : result.getErrors()) {
log.error(message.getMessage());
} else {
//success
}
您可以编写自己的ValidationResult类,也可以研究验证框架以找到适合该目的的框架。
关于java - 在Java中同时发生多个异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19796966/