什么是堆棧跟蹤,如何使用它來調試應用程序錯誤?有時,當我運行我的應用程序時,它會給我一個錯誤,如下所示: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
提交
取消