【发布时间】:2016-01-11 14:48:40
【问题描述】:
我正在使用 JSF 2 开发一个应用程序,我有一个关于最佳实践的问题。
处理 JSF 消息的最佳实践是什么,我必须通过托管 Beans/CDI Bean 中的 try/catch 处理业务验证错误消息,或者最佳实践是处理 ExceptionHandlerWrapper 中的所有屏幕错误异常?
例子:
public String doCreate() {
try {
//...SomeCode
addInformationMessage(MESSAGE_SUCCESS_DATA_INSERTED);
} catch (BusinessValidationException bve) {
addErrorMessage(bve);
return Outcome.FAILURE;
} catch (WebValidationException wve) {
addErrorMessage(wve);
return Outcome.FAILURE;
} catch (BusinessException e) {
throw new WebException(e);
}
return Outcome.SUCCESS;
}
或者自定义ExceptionHandlerWrapper:
public class AppExceptionHandler extends ExceptionHandlerWrapper {
// my implemantation
}
我对这个主题进行了很多研究,但没有发现很清楚,处理已知错误异常的最佳方法是什么?
感谢关注
【问题讨论】:
-
是的,这是一个简单的问题,但我有这个困境,我必须处理我的第一个例子的异常业务,只留下 ExceptionHandlerWrapper 结构异常,如 (ConversationExpiredException, SessionExpiredException, ViewExpiredException, NonexistentConversationException, SecurityException, ... ) 或者我必须为我想要在业务中处理的任何类型的异常准备我的 ExceptionHandlerWrapper 并让我的更清洁的 bean 成为可能?