java - Bytebuddy拦截异常抛出

标签 java jvm byte-buddy

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

最佳答案

您可以使用 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;
    }
  }
}

有关如何实现代理的教程,您可以阅读 this article .

关于java - Bytebuddy拦截异常抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36320330/

相关文章:

java - 在android中给数组赋值时出现异常

concurrency - Akka作为Clojure的并发模型

c - 在没有库的情况下将 JVM 嵌入 C 程序的推荐方法?

java - 如何设置最大 xmx 和 xms 值而不出现内存不足异常

java - 如何使用 ByteBuddy 代理处理构造函数抛出的异常?

java - 将大量数据加载到内存时会增加 permsize

java - 使用流生成 map 时忽略重复项

Java 日历未显示正确的 HOUR_OF_DAY

java - 如何使用 ByteBuddy 创建动态代理

java - 使用 ByteBuddy 访问被拦截类中的私有(private)字段