@[email protected] 无法处理自定义异常问题

今天在学习springboot整合shiro以及统一异常处理时遇到了无法处理自定义异常问题。

@[email protected] 无法处理自定义异常问题

代码如上图,找了半边没有发现原因。在控制台打印的确实是自定义的异常信息,然后在这里就是无效。通过debug模式发现shiro抛出的并不是MyException这个自定义异常,而是AuthenticationException这个异常。这个异常是shiro框架的异常,我在写的方法中并没有抛出这个异常,最后发现shiro的login(token)方法会抛出这个异常,导致自定义异常捕获无效。

总结:捕获自定义异常时一定要注意这个方法的调用者是否抛出过其他异常,一般自己写的代码不会出现此类问题,使用框架时需要注意调用的方法是否有抛出其他异常。