[英]Can I find where a NullPointerException came from?
當我嘗試以下語句時,
a.do(b.do());
假設我從那一行得到了NullPointerException。
那么,有什么方法可以找到a是否為null,b是否為null?
不,唯一的解決方案是提取內部表達式:
Object o = b.do()
a.do(o);
無論如何,這是一個好主意。
如果您在eclispe或任何標准IDE中調試程序,則可以執行Step Into
,它將首先執行b.do()
。 如果崩潰,則問題出在b
對象上。 如果不是,請從b.do()
Step Out
並Step Into
a.do()
然后在其中找到問題。
我必須說,盡管Tomasz的方法更安全,並建議使用,因為它也易於閱讀。
對於該語句,a或b為null會導致錯誤。 除了單獨檢查每個對象,您看不到哪個。
另外,不是“保留”關鍵字嗎? 不確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.