首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >找不到空指针异常的源

找不到空指针异常的源
EN

Stack Overflow用户
提问于 2013-03-02 20:52:37
回答 3查看 1.2K关注 0票数 0

我在Java代码中遇到了一些非常奇怪的行为。在我的Eclipse日志控制台上显示了一个异常,显示为Exception:java.lang.NullPointerException,但没有引用它发生的代码。

在调试过程中,我找出了发生这种情况的一行代码,因此将其放入try-catch中,希望能捕捉到它。然而,它并没有在catch块中返回。

奇怪的是,即使在它执行后立即在该行抛出异常,并且执行仍正常继续。

有人能告诉我可能的原因吗?我可以附上源代码,但我已经检查了参数,一切似乎都很好。

我写这篇文章的主要原因是,如果你们中的任何一个程序员遇到过这样的行为,我想了解一下这些行为。

EN

回答 3

Stack Overflow用户

发布于 2013-03-02 20:54:38

这可能是Eclipse的一个问题。我以前见过这种行为,重启Eclipse解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2013-03-02 21:12:10

请检查您的构建器是否已激活,更改后的源代码是否已自动构建。否则,您的代码更改永远不会将其应用到运行时应用程序中。

我非常确定,执行的源代码与编辑器中显示的源代码不同。

票数 0
EN

Stack Overflow用户

发布于 2013-03-03 05:16:51

如果您看到异常的消息,但没有堆栈跟踪,这是由如下所示的代码引起的:

代码语言:javascript
代码运行次数:0
运行
复制
try
    {
    // something which causes the exception
    }
catch (final Exception err)
    {
    System.out.println(err);
    }

这段代码的问题是它只打印异常的.toString()方法的结果。对于大多数异常,这只是异常类和消息。这段代码省略了堆栈跟踪,因此使调试问题变得更加困难。

如果要捕获异常,请将代码更改为使堆栈跟踪包含在输出中:

代码语言:javascript
代码运行次数:0
运行
复制
try
    {
    // something which causes the exception
    }
catch (final Exception err)
    {
    err.printStackTrace();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15174706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档