導航:首頁 > 編程語言 > 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相關的資料

熱點內容
計算機教程pdf 瀏覽:703
桌面文件夾變成文字 瀏覽:849
dell伺服器前面板如何拆 瀏覽:765
雲頂之巔伺服器什麼時候關閉 瀏覽:947
安卓qq郵箱怎麼搞 瀏覽:755
大疆御pro安卓手機用什麼軟體 瀏覽:339
plc每日產量統計編程實例 瀏覽:241
怎麼證明一個人不是真正程序員 瀏覽:571
視頻怎麼加密課程 瀏覽:565
5x的解壓密碼 瀏覽:480
如何創建tomcat80伺服器 瀏覽:389
一個真正隱世的程序員 瀏覽:822
飢荒聯機為什麼開不了伺服器 瀏覽:28
程序員的甜品製作方法 瀏覽:200
找幾本關於程序員職場的小說 瀏覽:356
拼多多app這是怎麼回事 瀏覽:811
程序員那麼可愛小說作者 瀏覽:204
pdf文件打不開怎麼辦 瀏覽:607
數字化校園系統源碼 瀏覽:194
androidxml虛線 瀏覽:861