我用一个空对象执行了 System.out.print,得到了这个:
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)
最佳答案
数字不是异常名称的一部分。您的代码正在打印数字,没有换行符到标准输出。
默认异常处理程序将堆栈跟踪打印到标准错误。来自标准输出和标准错误的消息在控制台上交错,因此您看到的数字来自代码,“异常”是堆栈跟踪的片段。
如果您在控制台中进一步查看,很可能会看到异常名称的开头。如果 b
或 b.r
为 null,则您指示的行可能抛出的唯一运行时异常是 NullPointerException
;但是,鉴于您的代码,这看起来不可能。也许异常确实是从另一行抛出的。行号和堆栈跟踪将有助于确定这一点,但也许它是上一行的 NullPointerException 。
关于java - 奇怪的 Java 异常名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351421/