@Slf4j public class GlobalExceptionHandler implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread t, Throwable e) { // 打印异常信息 log.error("我报错拉"); e.printStackTrace(); } }那我这样写有问题吗,为什么拦截不住异常呢
时间: 2024-03-21 09:39:12 浏览: 83
SpringBoot日志插件log4J和slf4J的使用和比较含完整示例
你的代码看起来没有问题,但是很可能是由于异常没有被正确地抛出或者被其他的异常处理器给拦截了。你可以尝试在你的程序中手动抛出一个异常,然后看看是否能够被GlobalExceptionHandler正确地处理。另外,确保在启动程序之前设置了默认的未捕获异常处理器,例如:
```
Thread.setDefaultUncaughtExceptionHandler(new GlobalExceptionHandler());
```
如果还是无法拦截到异常,可以尝试在程序中打印日志,查看异常被哪个处理器给拦截了。如果是被其他的异常处理器给拦截了,可以考虑禁用或者替换掉该处理器,以保证GlobalExceptionHandler能够正确地拦截到异常。
阅读全文