除了可以使用try…catch語句和try…catch…finally語句處理異常以外,還可以使用throws處理異常。
在開發(fā)中,有的時(shí)候我們沒有權(quán)限處理該異常,我們不知道該如何處理異常,或者不想處理異常,這種情況下我們可以將異常拋出,拋出給調(diào)用者處理。
throws處理異常的格式:
[訪問權(quán)限修飾符] 返回值類型 方法名(參數(shù)列表) [throws 異常類名]{ 方法體; [return 返回值]; }
注意事項(xiàng):
1)拋出異常的處理方法千萬不能拋出給JVM處理[主方法]。
2)如果一個(gè)方法拋出的是一個(gè)編譯時(shí)異常,那么調(diào)用者必須處理。
3)如果一個(gè)方法拋出的是一個(gè)運(yùn)行時(shí)異常,可以處理也可以不處理,建議處理,提高程序的安全性。
4)子類重寫的方法聲明的異常不能夠被擴(kuò)大。
5)throws表示一種異常發(fā)生的可能性,可以聲明多個(gè)異常類。
throw異常處理方法:
格式: throw 異常對(duì)象;
注意:我們可以發(fā)現(xiàn)其實(shí)throw和throws的作用都是將異常拋出給調(diào)用者或者虛擬機(jī)來處理,但是兩者有個(gè)根本區(qū)別就是throw拋出的是異常對(duì)象,而throws聲明的是異常類。
throw和throws區(qū)別:
1)throw拋出的是異常對(duì)象,throws聲明的是異常類。
2)throw只能夠拋出一個(gè)對(duì)象,throws可以聲明多個(gè)異常類。
3)throw表示異常已經(jīng)發(fā)生,throws是一種異常的可能性。
4)throw在方法體內(nèi)出現(xiàn),throws在方法的聲明上。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程