第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

throw和throws的區(qū)別是啥,各自有什么用處?。?/h1>

這是自己寫的這個模擬借書軟件的代碼? 希望可以幫到大家

https://img1.sycdn.imooc.com//5b0bef0000019e7109230612.jpg

正在回答

4 回答

throw是拋出一個異常類的對象(是一個實例),throws拋出異常類

在Java中,把程序的業(yè)務(wù)實現(xiàn)代碼放在try塊中定義,所有的異常處理邏輯放在catch塊中完成。如果執(zhí)行try塊中的代碼出現(xiàn)異常,系統(tǒng)就會自動生成一個異常對象,該異常對象被提交給Java運行時環(huán)境,這個過程被稱為拋出異常。當(dāng)Java運行時環(huán)境收到異常對象時,會尋找能處理該異常對象的catch塊,如果找到合適的catch塊,則將該異常對象交給該catch塊處理,這個過程稱為捕獲異常,如果Java運行時環(huán)境找不到捕獲異常的catch,就會傳給該方法的調(diào)用者。如,main方法調(diào)用A方法,A方法調(diào)用B方法,B方法調(diào)用C方法。。。。,如果在C方法中發(fā)生異常,只要拋出了異常沒有被捕獲,或者捕獲異常處理后又重新拋出了異常,那么異常就會傳給該方法的調(diào)用者(B方法),B方法又傳給A方法,A方法傳給main方法,如果main方法依然沒有處理該異常,JVM會終止該程序,并打印異常的跟蹤棧信息

如果拋出IndexOutBoundsException異常,你可以打印一句話“數(shù)組越界”,也可以打印異常跟蹤棧信息,同樣,如果拋出NumberFormatException異常,你也可以打印“數(shù)字格式異?!保部梢源蛴‘惓8櫁P畔?,看你如何處理

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

如果我是DJ我是DJ我是DJ我是DJ 提問者

非常感謝!
2018-06-11 回復(fù) 有任何疑惑可以回復(fù)我~

if (scanner.hasNextInt()) {

int id = scanner.nextInt();

if (id>ss.length) {

System.out.println("您輸入的書號有誤,請重新輸入");

}else{

System.out.println("尋找完畢:《"+ss[id-1]+"》的書號是"+id);

}

}else{

boolean b = false;

String name = scanner.next();

for(int i = 1;i<=ss.length; i++){

if (ss[i-1].equals(name)) {

System.out.println("尋找完畢:《"+ss[i-1]+"》的書號是"+(i));

b = true;

break;

}

}

if(!b) {

System.out.println("找不到這本書,請重新輸入書名");

}

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

?問個問題。 你拿name 和數(shù)組里面的名字比較時? 為什么是 i=1開始.? 而且還是SS[i+1]?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

如果我是DJ我是DJ我是DJ我是DJ 提問者

這個 我得回頭捋一捋 我忘了我的思路了 嘿嘿 因為書號是從1開始的 比如書的下標(biāo)是2 那么他的書號就是3 ss是數(shù)組名 ss[i+1] 就是數(shù)組里,下標(biāo)為幾的書號+1 比如我輸入4 , 那他就輸出 3+1 i最大是三 后半部分是我的失誤,有錯誤和BUG 謝謝提醒
2018-06-11 回復(fù) 有任何疑惑可以回復(fù)我~

throws用于聲明方法中可能拋出的異常?

example:public static void main(String[]? args) throws Exception

throw用于拋出一個具體的異常類對象,可以單獨作為語句使用

如果throw語句拋出的異常是Checked異常,則該throw語句要么處于try塊處理,顯式捕獲該異常,要么放在一個帶throws聲明拋出的方法中(將該異常交給該方法的調(diào)用者處理)

如果throw語句拋出的是Runtime異常,則該語句可以不用放在try塊中,也不用放在帶throws聲明拋出的方法中,程序可以使用try。。catch來捕獲處理異常,也可以不用理會該異常,把該異常交給該方法的調(diào)用者處理

example:?

public class ThrowExamp

{? ? ??

????????public static void main(String[] args)

????????{

????????????????try

????????????????{? ? ? ?

????????????????????????throwChecked(-3);??

??????????????????}

?????????????????catch(Exception e)

?????????????????{

?????????????????????????System.out.println(e.getMessage());

????????????? ? ? }

??????????????????throwRuntime(3);

}

public static void throwChecked(int a) throws Exception

{????????

????????????if(a>0)

????????????{

????????????????????//自行拋出Exception異常,必須處于try塊中,或帶throws聲明的方法中

????????????????????throw new Exeption("a 不合法");

????????????}

}

public static void throwRuntime(int a)

{????

????????????if(a>0)

????????????{

????????????????????//自行拋出Runtime異常,既可以顯示捕獲該異常,也可以不用理會該異常,交給方法調(diào)用者處理

????????????????????throw new RuntimeException("a不合法");

????????????}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

如果我是DJ我是DJ我是DJ我是DJ 提問者

原來是這樣 throw 是定義異常 throws 是含有異常的方法拋出異常 可是拋出了異常的方法一旦調(diào)用就會報錯啊,為什么不直接放到try catch中呢 還有就是拋出的異常 類型不一樣 處理方式也不一樣嗎?
2018-05-29 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409764    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

throw和throws的區(qū)別是啥,各自有什么用處???

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號