3 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
空指針異常產生的主要原因如下:itjob網上有例子,
(1)當一個對象不存在時又調用其方法會產生異常obj.method() // obj對象不存在
(2)當訪問或修改一個對象不存在的字段時會產生異常obj.method() // method方法不存在
(3)字符串變量未初始化;
(4)接口類型的對象沒有用具體的類初始化,比如:
List lt;會報錯
List lt = new ArrayList();則不會報錯了
當一個對象的值為空時,你沒有判斷為空的情況。你可以試著把下面的代碼前加一行代碼:
if(rb!=null && rb!="")
改成:
if(rb==null);
if(rb!==null&&rb!="") 或者if((“”).equals(rb))
空指針的解決辦法:
重點關注報錯發生的所在行,通過空指針異常產生的兩條主要原因診斷具體的錯誤。同時為了避免空指針的發生,最好在做判斷處理時將“null”或者空值放于設定的值之前。

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
做檢查,發現是null后拋出空指針異常
這樣做,原因有二:
你自己捕捉異常,可以給使用者增加一些自定義的異常信息。幫助它盡快找到錯誤并修正
如果你不捕捉異常,異??赡軙恢睊伋觯詈髸伒巾撁嫔?。這對你的代碼的人性化、嚴密性都會大有影響。
添加回答
舉報
0/150
提交
取消