关于UndeclaredThrowableException异常
说明
动态代理里面抛出sentinel的异常发现抛出的是UndeclaredThrowableException包装了一层
导致专门处理流控异常的地方不能正常处理
异常类图
jdk动态原理对异常的处理
生成的字节码 参考https://www.cnblogs.com/LQBlog/p/16397103.html
public final void sayHello(String paramString) { try { this.h.invoke(this, m3, new Object[] { paramString }); return; } catch (Error|RuntimeException localError) { throw localError; } catch (Throwable localThrowable) { throw new UndeclaredThrowableException(localThrowable); } }
cglib对异常的处理
待看源码
UndeclaredThrowableException类图