首页 > 编程语言 >Debug - 某个方法一直报NPE错,无论怎么加防御式编程、try catch均无效

Debug - 某个方法一直报NPE错,无论怎么加防御式编程、try catch均无效

时间:2022-12-09 11:46:29浏览次数:44  
标签:core fane NPE try plus Debug java sdk

问题描述

 

 

最初的错误是,在fane-lib-java包里,出现了NPE异常。

我的应用程序,引用了一个fane-lib-java包。lib包中的fane-core 和 fane-data-sdk-plus两个module.

由于在本地windows机器local debug、直接运行、鼠标追踪,均是定位到 fane-core的QuantScenarioDefModel.java,因此我只在fane-core这里修复了NPE。

然而,一旦部署到at、sit 环境的Linux服务器,就会出现NPE异常

 

报错方法已经按照堆栈提示增加了防御式编程,但无论加上什么log都不会进入该方法。

同时,也确定了服务器上使用的是最新的包了,但依然无解。

 

解决方法

使用(右键-》Find Usage)查询可疑字段、可疑方法的使用情况,发现 另一个module fane-data-sdk-plus下面存在一个“同包同名”的类。该类尚未更新。

因此推测:

  • 在windows系统,由于某些原因,会优先加载 fane-core里面的QuantScenarioDefModel.java类
  • 在Linux系统,由于某些原因,会优先加载 fane-data-sdk-plus里面的QuantScenarioDefModel.java类

 

 

workaround是:将两个类同时进行修改。

 

标签:core,fane,NPE,try,plus,Debug,java,sdk
From: https://www.cnblogs.com/frankcui/p/16968487.html

相关文章