請(qǐng)問(wèn)大神問(wèn)題在哪~
public?static?void?BookName()?throws?Exception?{ ????try?{ ????????String?name?=?sc.next(); ????????for?(int?i?=?0;?i?<?bookname.length;?i++)?{ ????????????int?num?=?i?+?1; ????????????if?(name.equals(bookname[i]))?{ ????????????????System.out.println("******序號(hào)"?+?num?+?"."?+?name?+?"******"); ????????????????break; ????????????} ????????} ????????throw?new?Exception("******nameException******"); ????}?catch?(Exception?e)?{ ????????System.out.println("******輸入書(shū)名有誤請(qǐng)重新輸入******"); ????????BookName(); ????} }
輸入正確的書(shū)名時(shí),結(jié)果顯示正確。但為什么還會(huì)提示“******輸入書(shū)名有誤請(qǐng)重新輸入******
”
2016-05-11
個(gè)人認(rèn)為是break跳出的是for循環(huán)并沒(méi)有跳出try語(yǔ)句,所以往下執(zhí)行創(chuàng)建了一個(gè)“**********nameException***********”異常對(duì)象并拋出,且與catch()中的參數(shù)類(lèi)型相匹配所以就執(zhí)行了catch語(yǔ)句。
修改:我覺(jué)得應(yīng)該把“throw ? ?new ? ?Exception("**************nameException****************")”放入else語(yǔ)句中。