如何使用ASM在调用方法的地方插入try/catch块

问题描述

如何使用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 + "");
    }

    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;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)