try catch问题

par*_*ars 1 java exception

我从控制器抛出异常,如下所示

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这里吗?

Ami*_*nde 5

是Java允许它.您可以使用try catch块抛出并处理异常

   try
    {
        throw new Exception();
    }
    catch (Exception e) {
        // TODO: handle exception
    }
Run Code Online (Sandbox Code Playgroud)

在这里,您在同一个区块中抛出并处理异常.我不知道为什么有人愿意这样做.

更好的方法是将您的方法定义为throws ValidationFailureException并从调用此代码的函数处理该异常.