1. 程式人生 > >Java基礎---異常和異常處理

Java基礎---異常和異常處理

Java異常體系         |——Throwable  (實現類描述java的錯誤和異常--超類)             |——Error (錯誤)一般不通過程式碼去處理。             |——Exceprion (異常)  程式碼處理                 |——RuntimeException (執行時異常)                 |——編譯時異常(非執行時異常,受檢異常)

兩類異常注意: 1.方法內部丟擲一個執行時異常物件,方法可以宣告丟擲也可不宣告丟擲 2.方法內部丟擲一個編異時異常物件,方法必須要宣告丟擲 3.呼叫一個宣告丟擲執行時異常型別的方法,呼叫者可處理也可不處理 4.呼叫一個宣告丟擲編譯時異常型別的方法,呼叫者必須要處理

                   以Error結尾代表錯誤,以Exception結尾代表異常     ---------------------------------------------------------------------------------------------------------            Throwable類   (所有異常與錯誤的父類) Throwable常用的方法:     1. toString()               返回描述該異常情況的類的完整類名 = 包名 + 類名     2. getMessage()        返回建立Throwable物件的時候傳入的訊息字串     3. printStackTrace()  列印異常的棧資訊 

異常的處理方式:捕獲處理  丟擲處理方式一:捕獲處理 try...catch         捕獲處理的格式:         try{

            可能會發生異常的程式碼

        }catch(異常的型別 變數名){

            異常處理程式碼;         }

捕獲處理要注意的細節:【month201809.Demo1】【month201809.Demo2】 1. try塊的程式碼出現的異常處理之後,try-catch塊外面的程式碼可以正常執行 2. try塊中出現了異常程式碼,則try塊中異常程式碼後的所有程式碼無法正常執行 3. try塊後面可以有多個catch塊,但捕獲的異常型別必須按照從小到大

Exception可以捕獲任意型別的異常,是因為Exception是所有異常類的父類(包治百病) ----------------------------------------------------------------------------------------------------------方式二:丟擲處理  throws throw 適應情況:方法內部不想處理,或處理不了。扔出去 丟擲處理注意:     1. 方法內部丟擲編譯時異常物件時,必須在方法上宣告丟擲throws。     2. 呼叫一個宣告丟擲編譯時異常型別的方法,呼叫者必須進行異常處理     3. 一個方法如果遇到了throw關鍵字,則該方法會馬上停止執行後面程式碼。

throw與throws區別:     1. throw用在方法內部,丟擲異常物件;throws用在方法宣告,丟擲異常型別      2. throw後只丟擲一個異常物件(一次只一個),throws後跟異常型別(一次可多個)

丟擲處理和捕獲處理處理方式選擇:     如果需要告知呼叫者出了異常,則需使用丟擲處理     如果與使用者(web層)的程式碼,則使用捕獲處理

----------------------------------------------------------------------------------------------------------自定義異常類: 自定義一個類繼承Exception即可 【month201809.Demo3】