Java基礎------異常的簡易資料

來源:互聯網
上載者:User

標籤:

一、異常的定義

異常是因編程錯誤或外在因素導致程式在運行期無法啟動並執行事件。(它會打斷指令的正常秩序流程)

二、異常的分類

1.Error

動態連結錯誤,比如JVM系統內部錯誤或資源耗盡,這一類例外狀況事件無法恢複或不可能捕獲,將導致應用程式中斷。

2.Exception

其他因編程錯誤或偶然的外在因素導致的一般性問題,這類異常得到恰當處理時,程式有機會恢複至正常運行狀態

①非受檢(uncheched)異常

就是程式運行時出現的錯誤,這種錯誤是認為造成的,比如1/0,null 指標異常等

錯誤類型轉換:java.lang.ClassCastException

數組下標越界:java.langArraylndexOutOfBoundsExcetion

null 指標訪問:java.lang.NullPointerException

算術異常(除0溢出):java.java.ArithmeticException

②受檢時異常(cheched)

沒有找到指定名稱的類: java.lang.ClassNotFoundException

訪問不存在的檔案:java.io.FileNotFoundException

操作檔案時發生的異常:java.io.IOEception

操作資料庫時發生的異常:java.sql.SQLException

是在編寫代碼時報出的錯誤,這種錯誤需要程式員及時處理,

比如:檔案未找到異常

三、常見異常和Exception的階層

}RuntimeException

?ArithmeticException:數學計算異常

?NullPointerException:null 指標異常

?NegativeArraySizeException:負數組長度異常

?ArrayIndexOutOfBoundsException:數組索引越界異常

?ClassNotFoundException:類檔案未找到異常

?ClassCastException:造型異常

}IOException

?FileNotFoundException:檔案未找到異常

?EOFException:讀寫檔案尾異常

?MalformedURLException:URL格式錯誤異常

?SocketException:Socket異常

?IOException

                                        Throwable

                                /                              \

                        Error                            Exception

 稱為錯誤,虛擬機器產生並拋出,不處理      /            \    

                                                    一般性異常    RuntimeException

                                                                            


Exception在程式中是必須進行處理

RuntimeException可以不使用try…catch進行處

理,但是如果有異常產生,則異常將由JVM進行處

理。



四、異常處理機制

執行代碼時如果出現異常,會自動產生一個異常類對象,該異常對象將被自動認可到JVM,(這個過程稱為拋出異常)→JVM尋找是否有能處理這一異常的代碼異常→找到則交給其處理,(這一過程稱之為catch異常和處理異常);如果無法處理,則程式退出

五、捕獲異常

try{...}catch{...}【finally{...}】

1.try塊

①捕獲多個異常可以使用1個try塊

②try塊內可以放有異常代碼,還可以放無異常代碼

2.catch塊

①1個catch塊只能捕獲一種異常,當出現多個異常時,可以使用多個catch塊進行捕獲

②catch塊裡出現的異常對象的方法

   a.getMessage():列印該異常對象的資訊

   b.printStackTrace():列印錯誤資訊,建議使用

③如果沒有異常,則不走catch塊

④catch塊內異常類順序,子類→父類依次往下

3.finally

①無論該段代碼有沒有錯誤,都去執行finally塊

②作用:進行資源清理工作

③finally塊可有可無

一、throws關鍵字

用throws關鍵字聲明方法,表面該方法不處理異常,而交給方法的調用者處理

1.作用:拋出異常,不做處理

2.聲明:位於方法名後

比如:public void method() throws Exception{...}

二、throw和throws

不同點

throw

throws

位置

方法內部

方法名後

作用

拋出異常對象

拋出異常類

1.throw使用注意:

當拋出一個受檢異常對象時,需要通過throws先拋出該異常

2.throws使用注意:

①當一個方法拋出異常,則調用該方法的對象需要處理這個異常(誰調用誰處理)

②重寫一個方法時。它所成麼的異常範圍不能被擴大。

一、建立自訂異常類

1.建立一個類,繼承Exception

2.複寫Exception類的方法

二、使用自訂異常類

同Exception


Java基礎------異常的簡易資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.