我从控制器抛出异常,如下所示
try {
if (formValidationResult.size() > 0) {
validationResults.put(errorMsg, formValidationResult);
}
} catch (Exception exception) {
LOGGER.error("Error while performing validation in FormController -->"
+ exception.getMessage());
throw new ServiceException(exception.getMessage());
}
if (validationResults.size() > 0) {
throw new ValidationFailureException(validationResults,"Validation Error");
}
Run Code Online (Sandbox Code Playgroud)
我在这里得到验证错误;
com.ge.dbt.common.exception.ValidationFailureException:验证错误
我可以包括一个捕获块来赶上ValidationFailureException这里吗?
是Java允许它.您可以使用try catch块抛出并处理异常
try
{
throw new Exception();
}
catch (Exception e) {
// TODO: handle exception
}
Run Code Online (Sandbox Code Playgroud)
在这里,您在同一个区块中抛出并处理异常.我不知道为什么有人愿意这样做.
更好的方法是将您的方法定义为throws ValidationFailureException并从调用此代码的函数处理该异常.