无法找到空指针源异常
问题描述:
我在Java代码中遇到了一些非常奇怪的行为。我的Eclipse日志控制台上显示的异常显示Exception:java.lang.NullPointerException
,没有提及它发生的代码。无法找到空指针源异常
在调试时,我发现了一条线,发生了这种情况,所以把它放在try-catch
希望我抓住它。然而它并没有返回到catch block。
奇怪的部分,即使它执行后立即抛出异常,并且执行正常继续。
有人可以告诉我可能的原因吗? 我可以附上源代码,但我已经检查了参数,并且都很好。
我这篇文章的主要原因是要了解这样的行为,如果你的任何编程人员遇到过。
答
可能是Eclipse的一个问题。我之前已经看到过这种行为,并且重新启动Eclipse解决了这个问题。
答
请检查您的构建器是否已激活,并且已更改的源代码是否自动构建。否则,您的代码更改将永远不会将其导入到运行时应用程
我很确定,执行的源代码与编辑器中显示的源代码不同。
答
如果你看到异常的消息,但没有堆栈跟踪,由代码看起来像这样造成的:
try
{
// something which causes the exception
}
catch (final Exception err)
{
System.out.println(err);
}
这段代码的问题是,它只是将异常的.toString()
方法的结果。对于大多数例外,这只是异常类和消息。该代码省略了堆栈跟踪,因此调试问题变得更加困难。
如果异常被抓,然后更改代码看起来像这样的堆栈跟踪包含在输出:
try
{
// something which causes the exception
}
catch (final Exception err)
{
err.printStackTrace();
}
你也可以清理项目 – ogzd 2013-03-02 12:55:58
我觉得你的编译代码与源代码不同步 – jonasnas 2013-03-02 12:57:09
它出现在哪里 - 控制台或错误日志? – 2013-03-02 13:06:17