gpt4 book ai didi

JAVA ASM : Why does modification cause nested exception?

转载 作者:行者123 更新时间:2023-12-01 15:11:18 33 4
gpt4 key购买 nike

在我的项目中,我使用 ASM 来更改方法签名。我选择使用 RMI 的方法并以这种方式更改它们:

来自:

String f(int i, String s) {
...
}

String f(int i, String s, ThreadId t) {
log(t)
...
log(t)
}

来自

a.f(i,s);

a.f(i, s, t);

所以定义和调用都改变了。

令人惊讶的是,它在某些情况下有效,并且 ThreadId 通过控制流传递。

但有一种方法会导致:

java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.AbstractMethodError: some.package.SomeClass.method(I;String;ThreadId;)String;

我不知道为什么会出现这个错误。您能解释一下吗?或者也许给我一些建议我应该如何解决它?任何帮助都会很棒!

最佳答案

该方法是抽象的。您是否修改了抽象方法的方法签名(这是可以的),然后尝试更改实现(它没有)?只需检查它是否是抽象的并跳过任何代码修改。

关于JAVA ASM : Why does modification cause nested exception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316767/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com