如何在Spring MVC中实现适当的异常处理
答案 0 :(得分:0)
不应使用printStackTrace方法打印堆栈跟踪,因为它使用System.out.println()来打印消息。您应该使用记录器(例如Log4j)打印异常消息及其堆栈跟踪。
启动记录器:
private static final Logger logger = Logger.getLogger(Clazz.class);
例外:
logger.error(exception.getMessage(), exception);
答案 1 :(得分:0)
您不需要在控制器中进行异常处理,只是为了记录您的异常,因为您已经实现了一些@ExceptionHandler
。您可以使用正确的日志API和实现(例如SLF4J + Logback)直接登录,而不是使用System.out。
我还假设您没有将任何堆栈跟踪信息传递给ErrorResponse
类,因为我在实例初始化期间只看到错误代码和异常消息的引用。
要包含堆栈跟踪信息,您可以在String
课程中实施其他ErrorResponse
字段,您可以使用commons-lang getStackTrace进行初始化。