什么是堆栈跟踪,如何使用它来调试应用程序错误?有时,当我运行我的应用程序时,它会给我一个错误,如下所示: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可能会被抛出,我们的程序会崩溃。
添加回答
举报
0/150
提交
取消