我有以下代码片段,我用ASM分析
try{
} catch (@TypeAnno7 RuntimeException re){
}
我无法找到为Annotation调用的正确方法。我认为MethodVisitor.visitTryCatchAnnotation可以解决这个问题,但它并没有被调用。
那么:使用的正确方法是什么?并且为什么类型的代码被调用?
答案 0 :(得分:3)
Java编译器不为try / catch生成任何字节码,除非try主体包含一些代码(否则,catch块可能永远不会实际运行,因此它是一种消除死代码的形式),您可以使用{ {1}}。向try主体添加一些代码,然后调用visitTryCatchAnnotation。