程序在生产环境出错了:java.lang.NullPointerException
除了这个错误信息之外, 没有任何其他相关的错误信息, 比如哪行出错都没有给出.
所以无法知道具体是哪行出错了.
我在测试环境中从来都没有这样的出错但是没有给出哪行出错的情况.客户那边把传入的数据做了修改之后, 生产环境就没有出这样的问题了.
由于测试环境没有生产环境一样的数据, 所以在测试环境中没有重现该错误.请指教.
除了这个错误信息之外, 没有任何其他相关的错误信息, 比如哪行出错都没有给出.
所以无法知道具体是哪行出错了.
我在测试环境中从来都没有这样的出错但是没有给出哪行出错的情况.客户那边把传入的数据做了修改之后, 生产环境就没有出这样的问题了.
由于测试环境没有生产环境一样的数据, 所以在测试环境中没有重现该错误.请指教.
在没用初始化就被用来读取数据的对象
要看当时所做的操作,然后检查相关的方当,跟踪才知道那个对象为null
现在只有唯一的报错信息: java.lang.NullPointerException
说明我的代码还是有潜在的bug不好做远程调试, 而且即使能调试, 也没有当时的数据.所以, 哪位大仙碰到过报异常信息但是没有给出哪行出错信息的情况, 请多多指教
都是只能得到是那个功能(越准确越好)然后自己再跟踪检查代码,
注意那些对象的方法和属性调用时对象是否有可能为null
上面的 log4j是什么啊 怎么去用啊 那里有教程
所以LZ看到你有没有在数组上范了错误
于是我把测试代码放到出问题的那个类里测试, 一步一步调, 结果确实是有完整的错误信息, 但是调用那个出错的方法时, 还是只有java.lang.NullPointerException. 于是我把测试代码放到那个方法的最开始, 结果是有完整的错误信息; 把测试代码放到那个方法的中间和末尾, 结果只有java.lang.NullPointerException. 所以, 我肯定一个事实: 这个方法的代码有问题, 我看了Exception类的printStackTrace(), 打印出来的错误信息一般会有详细的堆栈信息, 但是可能跟具体的实现有关. 我发现那个方法的代码调用了我们一个产品的接口, 我怀疑这些接口代码修改了JVM, 于是把测试代码放在被调用的产品接口代码后面, 果然结果没有完整的错误信息, 而放在接口代码之前, 就有完整的错误信息. 所以, 我敢肯定是这些接口代码修改了我们的JVM, 导致Exception的实现有了变化. 由于我对那个产品的接口的原理不是很清楚, 所以暂时不知道它是如何影响我们的Exception实现的.谢谢各位的参与! 88