更新時(shí)間:2020-08-10 16:15:51 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2432次
Throwable是所有錯(cuò)誤或異常的超類,只有當(dāng)對象是這個(gè)類的實(shí)例時(shí)才能通過Java虛擬機(jī)或者Java throw語句拋出。
當(dāng)Java運(yùn)行環(huán)境發(fā)出異常時(shí),會(huì)尋找處理該異常的catch塊,找到對應(yīng)的catch塊之后,將異常交給catch塊捕獲。
throwable的子類是exception和error,exception又分為IOException,NullPointerException等
空指針異常發(fā)生的原因:
調(diào)用方法的對象為null
根據(jù)控制臺(tái)提示的位置,找到對應(yīng)的異常位置。
例如:
Listbooks=Dao.getData();
int size=books.size();
第二行報(bào)空指針異常
那么books對象為null,向上查找第一行中Dao.getData();
那么進(jìn)一步查看Dao對象是否為空,若不為空,則繼續(xù)向上查找,找出為null的對象
改進(jìn):
1.增加條件判斷
List?books?=?Dao.getData();
if(books!=null){
int?size?=?books.size();
}
2.捕獲異常
List?books?=?Dao.getData();
try{
int?size?=?books.size();
}catch(NullPointerException?e){
e.printStackTrace();
System.out.printLn("size?=?0");
}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java空指針異常解決方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743