導航:首頁 > 編程語言 > throw用法Java

throw用法Java

發布時間:2024-04-04 14:27:54

『壹』 java中throw和throws的區別

都是關鍵字

throw用於代碼當中拋出異常;throws用於方法名結尾定義方法拋出的異常類型。

例如

inta=1;
thrownewException();
system.out.println("a");

在throw這行控制台會報Exception異常,如果你new的是NullPointException就會報空指針異常,你拋什麼他報什麼。下面的輸出不會執行,程序終止。

如果使用了異常處理,例如

inta=1;
try{
a=2;
thrownewException();
a=3;
}catch(Exceptione){
systemt.out.println(a);
a=4;
}
system.out.println(a);

這樣在a賦2後手動拋異常,被catch捕獲,然後輸出a、a賦4,最終結果是輸出2、4。

而throws用途:

publicvoidmethod()throwsException{...}

這個方法被調用後,如果這個方法里出了錯,這個錯誤就會被拋給引用它的那個方法。在控制台就會看到一層一層拋上去的引用棧。

『貳』 JAVA閲岄潰鐨則hrow鏄鍋氫粈涔堢敤鐨勶紵錛熷疄闄呯紪紼嬩腑鏈変粈涔堟牱鐨勫簲鐢錛燂紵錛

throw鍏抽敭瀛楅氬父鐢ㄥ湪鏂規硶浣撲腑錛屽苟涓旀姏鍑轟竴涓寮傚父瀵硅薄銆
紼嬪簭鍦ㄦ墽琛屽埌throw璇鍙ユ椂絝嬪嵆鍋滄錛屽畠鍚庨潰鐨勮鍙ラ兘涓嶆墽琛屻
閫氳繃throw鎶涘嚭寮傚父鍚庯紝濡傛灉鎯沖湪涓婁竴綰т唬鐮佷腑鏉ユ崟鑾峰苟澶勭悊寮傚父錛
鍒欓渶瑕佸湪鎶涘嚭寮傚父鐨勬柟娉曚腑浣跨敤throws鍏抽敭瀛楀湪鏂規硶澹版槑涓鎸囨槑瑕佽窇鍑虹殑寮傚父錛
濡傛灉瑕佹崟鎹塼hrow鎶涘嚭鐨勫紓甯革紝鍒欏繀欏諱嬌鐢╰ry鈥攃atch璇鍙ャ
瀹為檯緙栫▼涓鐨勫簲鐢ㄤ篃闈炲父騫挎硾,姣斿備綘鎯沖皾璇曠潃璺戝嚭鏌愪釜寮傚父鏉ラ獙璇佹煇琛屼唬鐮佹垨鑰呮槸瑕佽窇鍑鴻嚜瀹氫箟鐨勫紓甯
,浣犲氨鍙浠ョ洿鎺throw new xxxException.榪樻湁鍦ㄤ竴涓搴炲ぇ鐨勯」鐩涓璬ebug鏄鍗佸垎涓嶆柟渚跨殑,浣犲彲浠ュ湪鏂規硶鍋氫釜鎷︽埅
try{
throw new NullPointerException();
}catch(NullPointerException e){
e.printStackTrace();
}
榪欐牱鍙浠ユ墦鍗板嚭鍫嗘爤淇℃伅,澶уぇ鏂逛究浜嗕綘瀵規暣涓鏂規硶鐨勭悊瑙.榪樻湁寰堝氱殑搴旂敤,浣犲彲浠ュ皾璇曠潃鍘誨彂鐜板摕銆

『叄』 java異常 throws與throw的用法

第一:throw最重要的用法,不是先捕獲再拋出,而是第一次拋出的時候,如

publicintdivide(inta,intb)throwsDivideZeroException{
if(b==0)
thrownewDivideZeroException("can'tdivide0");
returna/b;
}

然後:先捕獲再拋出,是這樣用的。

publicintdoSomeThing(intx,inty){
try{
inta=divide(x+y,x-y);
intb=divide(x-y,x+y);
returna*b;
}catch(DivideZeroExceptione){
thrownewRuntimeException("dosomethingerror",e);
}
}

而且也可以不拋出,在本級就處理了。

publicintdoSomeThing(intx,inty){
try{
inta=divide(x+y,x-y);
intb=divide(x-y,x+y);
}catch(DivideZeroExceptione){
Loggerlogger=Logger.getLogger(getClass());
logger.info("dosomethingerror",e);
return-1;
}
}

你問到:使用了throws的方法中即使沒有throw,也依然可以拋出異常啊

回答:那是因為拋出的異常不是你手動拋出的,而是來自於你調用的方法(其根源還是在這個方法中用throw拋出的,或者是這個方法調用的方法)。

閱讀全文

與throw用法Java相關的資料

熱點內容
文件夾合並了怎麼拆開 瀏覽:256
波段副圖源碼無未來函數 瀏覽:84
livecn伺服器地址 瀏覽:255
程序員這個工作真的很吃香嗎 瀏覽:842
程序員和數學分析師待遇 瀏覽:676
壓縮氣彈簧怎麼拆 瀏覽:319
華為公有雲伺服器添加虛擬ip 瀏覽:207
程序員和運營哪個累 瀏覽:22
抖音安卓信息提示音怎麼設置 瀏覽:454
光速虛擬機的共享文件夾 瀏覽:246
程序員培訓機構發的朋友圈真實性 瀏覽:742
天乾地支簡單演算法 瀏覽:299
下載個壓縮文件 瀏覽:298
普通人電腦關機vs程序員關機 瀏覽:628
米酷建站源碼 瀏覽:115
氫氣app怎麼搜搭配 瀏覽:619
pdf綠盟 瀏覽:505
固態硬碟編譯器重建 瀏覽:391
怎樣編輯硬碟文件夾 瀏覽:660
安卓系統如何打開電腦軟體 瀏覽:572