0

我想拦截异常抛出并使用 bytebuddy 记录它。可能吗?如果不是,还有什么其他工具可以让我这样做?

4

1 回答 1

2

您可以使用在所有相关类型上AgentBuilder使用简单拦截类的地方编写 Java 代理:MethodDelegation

class MyInterceptor {
  @RuntimeType
  public static Object intercept(@SuperClass Callable<?> zuper) throws Exception {
    try {
      return zuper.call();
    } catch (Throwable t) {
      // log here
      throw t;
    }
  }
}

有关如何实现代理的教程,您可以阅读这篇文章

于 2016-03-31T08:59:24.070 回答