为了账号安全,请及时绑定邮箱和手机立即绑定

什么是堆栈跟踪,如何使用它来调试应用程序错误?

什么是堆栈跟踪,如何使用它来调试应用程序错误?

呼啦一阵风 2019-05-21 13:33:28
什么是堆栈跟踪,如何使用它来调试应用程序错误?有时,当我运行我的应用程序时,它会给我一个错误,如下所示:Exception in thread "main" java.lang.NullPointerException        at com.example.myproject.Book.getTitle(Book.java:16)        at com.example.myproject.Author.getBookTitles(Author.java:25)        at com.example.myproject.Bootstrap.main(Bootstrap.java:14)人们将此称为“堆栈跟踪”。什么是堆栈跟踪?有什么能告诉我程序中发生的错误?
查看完整描述

4 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

添加Rob提到的内容。在应用程序中设置断点允许逐步处理堆栈。这使开发人员能够使用调试器来查看该方法在何种情况下执行的操作是意料之外的事情。

由于Rob使用NullPointerException(NPE)来说明常见的东西,我们可以通过以下方式帮助解决此问题:

如果我们有一个方法,采取如下参数: void (String firstName)

在我们的代码中,我们想要评估firstName包含值,我们会这样做:if(firstName == null || firstName.equals(""))  return;

以上内容阻止我们将其firstName用作不安全的参数。因此,通过在处理之前进行空检查,我们可以帮助确保我们的代码能够正常运行。要扩展使用带有方法的对象的示例,我们可以在这里查看:

if(dog == null || dog.firstName == null)  return;

以上是检查空值的正确顺序,我们从基础对象开始,在这种情况下是狗,然后开始走下可能性树,以确保在处理之前一切都是有效的。如果订单被撤销,NPE可能会被抛出,我们的程序会崩溃。


查看完整回答
反对 回复 2019-05-21
  • 4 回答
  • 0 关注
  • 1883 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信