我想在整个应用程序中捕获异常并将它们保存到我的数据库中。我很难选择使用哪种方法。我知道我希望全局处理异常。我正在引用这个来源:https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc我有@controlleradvice但是例外情况根本没有。有人能为我提供一个如何做到这一点的具体例子吗?
谢谢。
答案 0 :(得分:0)
您可以一起使用ControllerAdvice
和ExceptionHandler
注释来捕获特定的异常,并随意执行任何操作。作为@M。 Deinum说,对于异常日志记录,您可以通过使用logback或log4j Database Appender
来获得相同的结果,但仍然可以捕获Service Layer
中的异常,并将它们转换为更合适的说法{{1 s,像这样:
Status Code
此异常处理程序捕获由@ControllerAdvice(annotations = RestController.class)
public class GenericServiceExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity handleUncaughtException(Exception ex) {
return badRequest(ex.getMessage()).build();
}
}
注释的bean抛出的所有Exception
异常,并将其转换为RestController
响应。