`

非常隐蔽的生产问题 :NoSuchMethodError

 
阅读更多

     描述:文件A调用了一个文件B的sendMsgRole()方法,但是本次升级把该方法的返回值由Void变成了String,而由于A文件没修改,更新生产只更新了本次版本修改过的B文件。这样生产上A文件调用的方法仍然是文件B的void sendMsgRole(),所以报NoSuchMethodError错。

    反思:虽然只要A和B一起重新编译更新到生产就不会出错。但以后最好避免对原方法的返回类型进行修改,如果进行了这样的修改,需要把所有调用该方法的文件都重新编译并覆盖才不会出错。总之,这种修改出错的概率相当高,应当避免。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics