我与我的经理讨论过在spring控制器对象中有通用异常捕获
public class userController{
public void addUser(@Model user UserObj){
//call service and throws service exception(wrap database exception in service layer)
catch (ServiceException sExp){
log error here
redirect error page;
} catch (Exception ecp) {
redirect error or log error for reference;
}
}
使用上面的代码我和我的经理发生了冲突,说你不应该有异常阻止,只有控制器中的服务异常。但我认为最坏的情况我们可以有异常,它会捕获未注意到的业务异常和记录错误。
我认为有例外不是坏主意。如果我只在控制器级别有异常块会有什么后果。
答案 0 :(得分:1)
不,您不应该在控制器中处理意外的异常。如果要记录意外异常,则使用全局异常处理程序,该处理程序将对所有控制器方法的所有异常执行此操作。这将集中处理异常,防止大量代码重复,并避免使控制器方法混乱。
查看@ControllerAdvice
和@ExceptionHandler
注释。