java中的異常

2021-08-28 11:34:14 字數 2297 閱讀 5784

區別一:throw 是語句丟擲乙個異常;throws 是方法丟擲乙個異常;

throw語法:throw 《異常物件》

在方法宣告中,新增throws子句表示該方法將丟擲異常。如果乙個方法會有異常,但你並不想處理這個異常,就在方法名後面用throws,這樣這個異常就會丟擲,誰呼叫了這個方法誰就要處理這個異常,或者繼續丟擲.

throws語法:[《修飾符》]《返回值型別》《方法名》([《引數列表》])[throws《異常類》]

其中:異常類可以宣告多個,用逗號分割。

區別二:throw要麼和try-catch-finally語句配套使用,要麼與throws配套使用。但throws可以單獨使用,然後再由處理異常的方法捕獲。

聯絡一:try … catch 就是用catch 捕獲 try 中的異常,並處理;catch是捕獲異常。也就是說某乙個操作有可能會丟擲什麼異常。throw 就是不處理異常,直接丟擲異常

呼叫乙個會throws exception的方法(在方法定義的時候可以用throws實現)時,需要把這個方法放在try裡,然後用catch破獲這個exception,做相應的處理。

throw new exception()是丟擲乙個exception,由別的method來破獲它。

也就是說try…catch是為破獲別人的exception用的,而throw是自己丟擲exception讓別人去破獲的。

public void input() throws exception

public void outputexception()

catch(exception e)

}簡單的說,如果乙個方法中用了throws,那麼這個方法會向上丟擲乙個異常,那麼在呼叫這個方法的時候必須把這個呼叫放在try…catch塊裡處理這個異常。

對於異常有兩種處理方法

1、要麼宣告異常,也就是在方法名後面加上throws exceptionname,…, 方法本身只是丟擲異常,由函式呼叫者來捕獲異常。若產生異常,異常會沿著呼叫棧下移,一直找到與之匹配的處理方法,若到達呼叫棧底仍未找到,程式終止。

2、要麼捕獲異常。通過try catch方法,catch子句中放置處理異常的語句。

聯絡二:對於會覺得會有異常丟擲的程式塊,用try{}包住,然後用catch來抓住這個異常,在catch中對異常做處理, 在try中如果有異常的話,程式會轉到catch而不會中斷,通常這兩個是配合使用的,如果你不想因為程式有錯,而丟擲一大堆異常的話,你就把該程式try起來,try和catch只能獲取程式執行時引發的異常,而throw語句可以引發明確的異常,程式到了throw語句這後就立即停止,不會執行後面的程式,

算術異常類:arithmeticexecption

空指標異常類:nullpointerexception

型別強制轉換異常:classcastexception

陣列負下標異常:negativearrayexception

陣列下標越界異常:arrayindexoutofbound***ception

違背安全原則異常:secturityexception

檔案已結束異常:eofexception

檔案未找到異常:filenotfoundexception

字串轉換為數字異常:numberformatexception

運算元據庫異常:sqlexception

輸入輸出異常:ioexception

方法未找到異常:nosuchmethodexception

throw關鍵字通常用在方法體中,並且丟擲乙個異常物件。程式在執行到throw語句時立即停止,它後面的語句都不執行。通過throw丟擲異常後,如果想在上一級**中來捕獲並處理異常,則需要在丟擲異常的方法中使用throws關鍵字在方法宣告中指明要跑出的異常;如果要捕捉throw丟擲的異常,則必須使用try—catch語句

class myexception extends exception public string getmessage()}public class captor return x/y;//返回值 }public static void main(string args)catch (myexception e) catch (arithmeticexception e) catch (exception e) }}

throws是用來宣告乙個方法可能丟擲的所有異常資訊throw則是指丟擲的乙個具體的異常型別。通常在乙個方法(類)的宣告處通過throws宣告方法(類)可能丟擲的異常資訊,而在方法(類)內部通過throw宣告乙個具體的異常資訊。throws通常不用顯示的捕獲異常,可由系統自動將所有捕獲的異常資訊拋給上級方法;throw則需要使用者自己捕獲相關的異常,而後在對其進行相關包裝,最後在將包裝後的異常資訊丟擲。

java中的異常

1.處理執行時異常是,採用邏輯去合理規避同時輔助用try catch處理 2,在多重catch塊後邊,可以加上乙個catch excepetion 來處理可能會被遺漏的異常 3,對於不確定的 也可以加上try catch,處理潛在的異常 4盡量去處理異常,切忌只是簡單的呼叫printstacktra...

Java中的異常

什麼是所謂的異常呢?異常 就是在執行期發生的不正常的事,會導致程式的終止.按繼承的角度劃分的話 error 系統內部錯誤,程式猿是無法處理的 exception 程式猿在編寫 過程中出現的異常,可以人為處理 按處理的必要性角度劃分的話 受檢異常 編譯器可以提示出來,不能編譯通過的異常 非受檢異常 只...

Java中的異常!

1.異常的分類 errror 類 1 unchecked exception exception 類 1 checked exception 檢查時異常 編譯時異常 2 runtime exception 執行時異常 error 類 這類錯誤不需要程式設計師管理 exception 類 1 runt...