⑴ java中異常的throw和throws不理解,高分求解答
throws是方法體簽名使用,也就是只能用在方法的後面,比如main()throws servlet Exception,IOException就表明這個方法會拋出Exception,IOException異常,至於具體拋出什麼異常,不用我們操心,JVM會處理。比如你用到了File類的一些方法,如果你不給這個方法聲明拋出異常,那麼它就會報錯。處理這個報錯有兩種方法,一種是在方法體內寫try{}cathc{}方法塊進行判斷,另一種是直接在方法體後聲明拋出異常,交給java處理。
而throw是拋出一個具體的異常實例,是要寫在方法體裡面的。比如throw new Exception()等等。
題主可以仔細觀察一下。
try{}catch{}finally()是java 的異常處理機制,
try{可能出現異常的語句}
catch{發生異常時進行處理}
finally{始終要進行處理的語句}
有參考,如果幫到題主希望採納!
⑵ java中throw拋出的異常一定要用相應的catch塊處理嗎
throw拋出的異常可以有兩種處理辦法
自己使用try...catch()捕獲
使用throws拋給調用者
一般不要拋給main,虛擬機會直接將程序殺死,造成閃退
⑶ 在java中,用try拋出異常,和用throw拋出異常,二者有什麼區別
try語句是用來捕獲異常
而throw是用來拋出異常,再對其進行相關包裝,最後在將包裝後的異常信息拋出。
二者可以結合使用。
⑷ JAVA 拋出異常throws怎麼用的
throw Exception用於拋出異常
比如在你的函數devide里 加以下代碼
if (num < 10 ){
throw new Exception("輸入的數字必須大於9!");
}
那調用devide的時候 只要num輸入10以下數字 就會拋出異常
try{
Throws.Devide();
} catch(Exception e) {
System.out.println("獲得一個錯誤:" + e.getMessage());
e.printStackTrace();
throw e; //不做進一步處理,將異常向外拋出
}
⑸ java中的throw到底有什麼用
throw在java中是關於異常的操作。
首先異常在java中的意思是一些可以導致程序出問題的因素,比如書寫錯誤,邏輯錯誤或者是api的應用錯誤等等,為了防止程序的崩潰就要預先檢測這些因素,所以java 使用了異常這個機制。
在java中異常是靠 "拋出" 也就是英語的"throw" 來使用的,意思是如果發現到什麼異常的時候就把錯誤信息 "拋出"。
所以如果沒有throw,發生異常,只能由java的最後一道防線jvm去處理,性質不一樣。
注意事項
throw代表動作,表示拋出一個異常的動作,throws代表一種狀態,代表方法可能有異常拋出。throw用在方法實現中,而throws用在方法聲明中,throw只能用於拋出一種異常,而throws可以拋出多個異常。
throw關鍵字用來在程序中明確的拋出異常,相反,throws語句用來表明方法不能處理的異常。每一個方法都必須要指定哪些異常不能處理,所以方法的調用者才能夠確保處理可能發生的異常,多個異常是用逗號分隔的。