日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中exception_Java中的异常 Exceptions

發布時間:2024/7/23 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中exception_Java中的异常 Exceptions 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 概念

exception是“exceptional event”的縮寫,是指執行程序中發生的事件,破壞了程序的正常執行流程。Java 異常處理機制使程序更加健壯易于調試,它可以告訴程序員三個問題:錯誤的類型、位置、原因,幫助程序員解決錯誤。

2. 類別

Throwable是Java所有異常類的頂級父類,只有這個類的對象(或者其子類對象)才能被異常處理機制識別,也就是說JVM或者throw語句拋出的異常必須是Throwable或者子類對象,catch語句處理的異常類也是如此。

整體上來看,Java異常可以分為三類

檢查異常:除了Error、RuntimeException及其子類所表示的異常,其他都為檢查異常,意味著編譯器在編譯源碼時,會對此類異常的處理進行檢查,如果沒有做異常處理(try、catch、finally或者throws),編譯無法通過。比如使用 java.io.FileReader 類讀取指定文件,文件不存在會拋出 java.io.FileNotFoundException 異常,這個異常在編碼時必須被處理。

運行時異常:RuntimeException及其子類表示的異常,javac在編譯時不會檢查的異常,這類異常更多的是代碼寫的有問題,如除0錯誤ArithmeticException,這類異常應該修改代碼,而不是使用異常處理器處理。

錯誤:Error及其子類,代表了JVM本身的錯誤。錯誤不等于異常,不能被程序員通過代碼處理。出現Error,程序通常無法恢復

3. 舉例

其中java.lang.ArrayIndexOutOfBoundsException為異常類型,表明了異常出現的大致原因,3是異常原因的說明,

后面打印出的是異常追蹤棧(StackTrace),因為函數是層級調用的,只要其中有一個函數出現了異常,它的所有調用者都會被異常影響。

通過查看異常,可以很容易得定位到錯誤發生在Test.test3()方法,第23行代碼,原因是下標3越界了。

4. 捕獲異常的語法

對于檢查異常來說,通常有兩種方式來處理異常,避免編譯器檢查不通過。

try、catch、finally

try語句塊兒中包含可能出現異常的代碼。catch語句塊兒用于捕獲和處理特定異常,允許存在多個catch塊兒,括號中定義了異常類型與參數,JVM使用最先匹配到的catch塊兒來處理異常。finally塊兒是可選的,無論是否發生異常,是否匹配catch塊兒,finally中的代碼都會執行。主要做一些清理工作,如數據庫連接的關閉。

注意:try塊兒不能單獨出現,至少要有一個catch塊兒或者finally塊兒。當執行一個方法中的某條語句時發生異常,即使異常被處理,這條語句后面的代碼也不會被執行,而是會順序執行下一個方法。

try {

}

catch (Exception e) {

}

finally {

}

throw、throws

拋出異常,方法自己不處理異常,僅僅是把異常拋給其調用者。使用throw處理異常通常的原因是:方法本身不知道如何處理異常,或者說讓調用者處理更合適。

5. 原則

為了更好的使用java的異常處理機制,Jim Cushing總結了三個原則:具體明確、及早拋出、延遲捕獲。

具體明確

在上文中,我們提到Java的異常類是一層一層繼承而來的,為了使異常信息更加具體明確,通常使用其子類。如果需要更加具體的異常信息,也可以定義自己的異常類。比如相比于IOException,FileNotFoundException可以看做是一個更為具體化的異常。

https://blog.csdn.net/u013201439/article/details/79908225

總結

以上是生活随笔為你收集整理的java中exception_Java中的异常 Exceptions的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。