這篇文章主要介紹java拋出異常的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、惠城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為惠城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Java中想要拋出異常那需要用到Java的兩個(gè)關(guān)鍵字,都是用于異常處理機(jī)制。
一個(gè)方法不處理這個(gè)異常,而是調(diào)用層次向上傳遞,誰調(diào)用這個(gè)方法,這個(gè)異常就由誰來處理。這就是拋出異常。
throw :將產(chǎn)生的異常拋出(強(qiáng)調(diào)的是動(dòng)作),拋出的既可以是異常的引用,也可以是異常對象。(位置: 方法體內(nèi))
throws :如果一個(gè)方法可能會(huì)出現(xiàn)異常,但沒有能力處理這種異常,可以在方法聲明處用throws子句來聲明拋出異常。用它修飾的方法向調(diào)用者表明該方法可能會(huì)拋出異常(可以是一種類型,也可以是多種類型,用逗號隔開)(位置: 寫在方法名 或方法名列表之后 ,在方法體之前。)
注意 :調(diào)用可能會(huì)拋出異常的方法,必須添加try-catch代碼塊嘗試去捕獲異常 或者 添加throws 聲明 來將異常 拋出給更上一層的調(diào)用者進(jìn)行處理,這里需要注意一個(gè)細(xì)節(jié):新的異常包含原始異常的所有信息,根據(jù)這個(gè)我們可以去追溯最初異常發(fā)生的位置,
簡單使用:
// 定義一個(gè)方法,拋出 數(shù)組越界和算術(shù)異常(多個(gè)異常 用 "," 隔開) public void Test1(int x) throws ArrayIndexOutOfBoundsException,ArithmeticException{ System.out.println(x); if(x == 0){ System.out.println("沒有異常"); return; } //數(shù)據(jù)越界異常 else if (x == 1){ int[] a = new int[3]; a[3] = 5; } //算術(shù)異常 else if (x == 2){ int i = 0; int j = 5/0; } }
在main方法中調(diào)用:
public static void main(String[] args) { //創(chuàng)建對象 ExceptionInital object = new ExceptionInital(); // 調(diào)用會(huì)拋出異常的方法,用try-catch塊 try{ object.Test1(0); }catch(Exception e){ System.out.println(e); } // 數(shù)組越界異常 try{ object.Test1(1); }catch (ArrayIndexOutOfBoundsException e) { System.out.println("數(shù)組越界異常:"+e); } // 算術(shù)異常 try{ object.Test1(2); }catch(ArithmeticException e){ System.out.println("算術(shù)異常:"+e); } //使用 throw 拋出異常(可以拋出異常對象,也可以拋出異常對象的引用) try{ ArrayIndexOutOfBoundsException exception = new ArrayIndexOutOfBoundsException(); throw exception;//new ArrayIndexOutOfBoundsException(); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("thorw拋出異常:"+e); } }
運(yùn)行結(jié)果 :
總結(jié)下 throw 和throws 關(guān)鍵字的區(qū)別
1、寫法上 : throw 在方法體內(nèi)使用,throws 函數(shù)名后或者參數(shù)列表后方法體前
2、意義 : throw 強(qiáng)調(diào)動(dòng)作,而throws 表示一種傾向、可能但不一定實(shí)際發(fā)生
3、throws 后面跟的是異常類,可以一個(gè),可以多個(gè),多個(gè)用逗號隔開。throw 后跟的是異常對象,或者異常對象的引用。
4、throws 用戶拋出異常,當(dāng)在當(dāng)前方法中拋出異常后,當(dāng)前方法執(zhí)行結(jié)束(throws 后,如果有finally語句的話,會(huì)執(zhí)行到finally語句后再結(jié)束。)。可以理解成return一樣。
以上是java拋出異常的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!