Android 如何使用ASM在调用方法的位置插入try/catch块
如何使用ASM在调用方法的位置插入try cache块,例如: 原始代码:Android 如何使用ASM在调用方法的位置插入try/catch块,android,try-catch,java-bytecode-asm,Android,Try Catch,Java Bytecode Asm,如何使用ASM在调用方法的位置插入try cache块,例如: 原始代码: public class Test { public void funA(int i) { Log.i("TAG", " + i") int n = a + 1; int r = funB(n); Log.i("result", r + ""); } p
public class Test {
public void funA(int i) {
Log.i("TAG", " + i")
int n = a + 1;
int r = funB(n);
Log.i("result", r + "");
}
public int funB(int c) {
int result = c + 2;
return result;
}
}
ASM处理后,预期结果为:
public class Test {
public void funA(int i) {
Log.i("TAG", " + i")
int n = a + 1;
try {
int r = funB(n);
Log.i("result", r + "");
} catch (Throwable e) {
e.printStackTrace();
}
}
public int funB(int c) {
int result = c + 2;
return result;
}
}