程序在生产环境出错了:java.lang.NullPointerException
除了这个错误信息之外, 没有任何其他相关的错误信息, 比如哪行出错都没有给出. 
所以无法知道具体是哪行出错了.
我在测试环境中从来都没有这样的出错但是没有给出哪行出错的情况.客户那边把传入的数据做了修改之后, 生产环境就没有出这样的问题了.
由于测试环境没有生产环境一样的数据, 所以在测试环境中没有重现该错误.请指教.

解决方案 »

  1.   

    NullPointerException 这是个空指针异常,你可以看看哪些
    在没用初始化就被用来读取数据的对象
      

  2.   

    没有很好的办法,
    要看当时所做的操作,然后检查相关的方当,跟踪才知道那个对象为null
      

  3.   

    我疑惑的是: 既然给出空指针异常, 那么应该打出相关的错误信息, 比如到底是哪行的抛出的异常, 这样才能跟踪.
    现在只有唯一的报错信息: java.lang.NullPointerException
      

  4.   

    而且我的代码没动, 客户那边对传入的数据做了些修改, 就好了
    说明我的代码还是有潜在的bug不好做远程调试, 而且即使能调试, 也没有当时的数据.所以, 哪位大仙碰到过报异常信息但是没有给出哪行出错信息的情况, 请多多指教
      

  5.   

    有过几次,
    都是只能得到是那个功能(越准确越好)然后自己再跟踪检查代码,
    注意那些对象的方法和属性调用时对象是否有可能为null
      

  6.   

    在正常情况下一般都会输出行,但我们以前用的tomcat还有旧版的applet出现过,后来就没看到过了
      

  7.   

    java在抛出异常时一般都会给出那个方法,第几行,如果你看到的仅仅是消息,说明,你在捕获到异常时并没有通过printStackTrace()方法将其所有信息打印处理,只是调用了toString方法而已。如果要看到详细信息,还是要用打印方法
      

  8.   

    关键要用printStackTrace方法,或者用log4j输出日志,否则不会有详细的错误信息
      

  9.   

      我想是不是请求被销毁而引发的空指针啊!!我正在学这门课程,这种错误我看了好多!!~
             上面的   log4j是什么啊   怎么去用啊  那里有教程
      

  10.   

    呵呵,真巧.我今天在书上刚看到这个异常.如果试图使用对象数组中的数组元素,而该数组元素没有引用一个真正对象时,将得到java.lang.NullPointerException 
    所以LZ看到你有没有在数组上范了错误
      

  11.   

    问题找到了!我们系统是个老系统, 以前的人写代码的时候有潜在的bug, 比如Properties.get(String key), key不能为NULL. 而客户那个时候传的数据刚好是NULL, 所以出了空指针异常.这个bug的查找花了我很多时间, 先是把生产环境的数据拿到测试库, 然后在测试环境看打印出来的信息(不能远程调试, 系统原来没有用Log4j之类的), 最后才发现原因.其实, 我觉得最困惑的是: 既然出了异常, 就会告诉我代码的哪一行产生的. 很奇怪, 唯一的信息就是java.lang.NullPointerException. 难道是JVM的问题? 于是我在测试环境写了个产生空指针异常的测试类, 结果和我们平时的是一致的: 给出了完成的错误信息. 为什么我们的系统不会给出完整的错误信息呢?
    于是我把测试代码放到出问题的那个类里测试, 一步一步调, 结果确实是有完整的错误信息, 但是调用那个出错的方法时, 还是只有java.lang.NullPointerException. 于是我把测试代码放到那个方法的最开始, 结果是有完整的错误信息; 把测试代码放到那个方法的中间和末尾, 结果只有java.lang.NullPointerException. 所以, 我肯定一个事实: 这个方法的代码有问题, 我看了Exception类的printStackTrace(), 打印出来的错误信息一般会有详细的堆栈信息, 但是可能跟具体的实现有关. 我发现那个方法的代码调用了我们一个产品的接口, 我怀疑这些接口代码修改了JVM, 于是把测试代码放在被调用的产品接口代码后面, 果然结果没有完整的错误信息, 而放在接口代码之前, 就有完整的错误信息. 所以, 我敢肯定是这些接口代码修改了我们的JVM, 导致Exception的实现有了变化. 由于我对那个产品的接口的原理不是很清楚, 所以暂时不知道它是如何影响我们的Exception实现的.谢谢各位的参与! 88