Java Bytebuddy拦截异常抛出
我想截获异常抛出并使用bytebuddy记录它。可能吗?如果没有,还有什么其他工具可以让我这样做?您可以使用Java Bytebuddy拦截异常抛出,java,jvm,byte-buddy,Java,Jvm,Byte Buddy,我想截获异常抛出并使用bytebuddy记录它。可能吗?如果没有,还有什么其他工具可以让我这样做?您可以使用AgentBuilder编写Java代理,您可以在所有相关类型上使用简单的MethodDelegation截取类: class MyInterceptor { @RuntimeType public static Object intercept(@SuperClass Callable<?> zuper) throws Exception { try {
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;
}
}
}
类MyInterceptor{
@运行时类型
公共静态对象截获(@SuperClass Callable zuper)引发异常{
试一试{
返回zuper.call();
}捕获(可丢弃的t){
//在这里登录
掷t;
}
}
}
有关如何实现代理的教程,您可以阅读。您可以使用
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;
}
}
}
类MyInterceptor{
@运行时类型
公共静态对象截获(@SuperClass Callable zuper)引发异常{
试一试{
返回zuper.call();
}捕获(可丢弃的t){
//在这里登录
掷t;
}
}
}
有关如何实现代理的教程,您可以阅读。如果在不理解的代码中执行此操作,则可能会记录虚假异常。您最好尝试使用调试器修复代码,在调试器中可以捕获特定异常或引发的所有异常。如果您在代码中执行此操作,您可能不理解它可能会记录虚假异常。最好尝试使用调试器修复代码,调试器可以捕获特定异常或引发的所有异常。