春季全局异常处理程序 - 不是 MVC
常规的Spring(Boot)是否有办法进行全局异常处理,或者至少捕获任何未捕获的异常(例如,可能会随机发生)?RuntimeException
我已经用谷歌搜索了一下,但我找到的一切都谈到了控制器。没有关于一般的全局异常处理程序。@ControllerAdvice
@ExceptionHandler
我基本上只是想确保如果发生一些我还没有捕获的异常,我会记录它,以便我知道它。
常规的Spring(Boot)是否有办法进行全局异常处理,或者至少捕获任何未捕获的异常(例如,可能会随机发生)?RuntimeException
我已经用谷歌搜索了一下,但我找到的一切都谈到了控制器。没有关于一般的全局异常处理程序。@ControllerAdvice
@ExceptionHandler
我基本上只是想确保如果发生一些我还没有捕获的异常,我会记录它,以便我知道它。
我认为弹簧没有为此提供开箱即用的解决方案。
实现这一目标的一种可能性是使用带有注释的AOP(您可以在此处找到一个示例:在春季,我在哪里可以捕获非休息控制器异常?使用此方法,您可以为使用预定义注释的所有方法定义全局切点。这种方法的好处是将所有错误处理逻辑放在一个地方。
通过AOP添加您自己的,如下所示将起作用:
@Aspect
@Component
public class ExceptionHandler {
@AfterThrowing(pointcut = "within(*.*)", throwing = "t")
public void log(Throwable t) {
t.printStackTrace();
}
}
查看备忘单以帮助进行切入点。