关于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类图

 

 

posted @ 2024-09-24 13:44  意犹未尽  阅读(33)  评论(0编辑  收藏  举报