2013-05-03 70 views
0

我做了一个带是System.out.print这是一个空对象,我得到这个:奇怪的Java异常名称

550270261027054028026002805302902590290520300258030051031025703105003202560320 
490330255033048034025403404703502530350460360252036045037025103704403802500380 
43039024903904204002480Exception 

我试着用搜索引擎,但异常的名称太长。

有谁知道这个例外是什么意思?

for (int i = bulletList.size(); i > 0; i--) { 
     final Bullet b = bulletList.get(i - 1);/* the bullet is just a class containing it's image, its position and its rectangle and handling its movement*/ 
     b.r = new Rectangle(b.x, b.y, 34, 20); 
     for (i = obsticalList.size(); i > 0; i--) { 
      final Obstical o = obsticalList.get(i - 1);//Obsical class is like the bullet class but for stationary thing 
      System.out.print(o.r.x); 
      System.out.print(b.r.x);//This is where I get the exception 
     } 

    } 



3202452730245310255272025530026527102652902752700Exception in thread "Thread-3" 
    at StartingClass.checkCollision(StartingClass.java:175) 
    at StartingClass.run(StartingClass.java:107) 
    at java.lang.Thread.run(Unknown Source) 
+3

你可以发布你的代码和完整的堆栈跟踪吗? – Antimony 2013-05-03 04:07:46

+0

通常,这意味着您对null执行了System.out.print。 – 2013-05-03 04:08:06

+7

发布** awesome **代码片段,它给了这个**奇妙的**'Exception'。 – SudoRahul 2013-05-03 04:08:18

回答

5

数字不是例外名称的一部分。你的代码是打印数字,没有换行到标准输出。

默认异常处理程序将堆栈跟踪打印到标准错误。来自标准输出和标准错误的消息正在您的控制台上交错显示,因此您看到的数字来自您的代码,而“Exception”是堆栈跟踪的片段。

最有可能的是,如果您在控制台中进一步回顾,您会看到异常名称的开头。如果bb.r为空,那么您指出的行可能抛出的唯一运行时异常为NullPointerException;但是,鉴于你的代码,它看起来不是这样。也许这个例外实际上是从另一行中抛出的。行号和堆栈跟踪可以帮助将其锁定,但可能是前一行的NullPointerException

2

带有obj = null的System.out.print(obj)将简单打印word null