在千鋒學習Java已經有一段時間了,不斷地接觸新的技術知識,總結舊的技術知識,今天給大家總結分享的是:異常。
程序中出現的不正常的情況我們稱之為“異常”。在運行時出現了不正常的情況,程序將它進行了屬性和行為(異常的位置、原因、名字等)的抽象,提取,終究形成了對象,繼而形成各種異常類。
一、異常的分類
1.Error,錯誤。對應的是程序運行過程中出現的嚴重的問題,這里我們不需要去修改。
2.Exception,為我們平時稱的異常。對應的是運行過程中出現的不嚴重的問題。我們可以嘗試去修改。而Exception分類我們又可以按照不同的標準進行細分:
第一種分類:編譯異常,運行時異常。
編譯異常在編譯階段拋出異常,處理異常。運行時異常,在運行階段拋出異常,處理異常。
第二種分類:系統異常,自定義異常。
系統異常指代系統提起定義好的,我們直接拿來使用。自定義異常是指需要我們自定的常見異常。
二、異常的特點
異常的特點,指程序出現不正常的情況時,程序會打印異常信息并除銹按后曾虛中斷,
所以當同時出現多個異常的時候,只能執(zhí)行其中一個。
數組下標異常---ArrayIndexOutOfBoundsException
空指針異常:NullPointerException
三、對異常的處理
檢查異常,捕獲異常,讓異常不影響下面代碼的執(zhí)行。簡單舉例說明:
“try{”可能出現異常的代碼“}catch(Exception e){//“”捕獲異常,“e”就是要捕獲的異常。
對出現異常的代碼的處理“}”,只要“try”內部的代碼發(fā)生了異常,“catch”會立刻捕獲異常,這里的代碼不會被執(zhí)行。只有“try”內部的代碼沒有發(fā)生異常,這里才會執(zhí)行,但是“catch”不會再執(zhí)行。
當遇到多異常處理時,“try{”可能出現異常的代碼“}catch(異常一 e){//”捕獲異常, “e”就是要捕獲的異常。
對出現異常的代碼的處理“ }catch(異常二 e){”;對出現異常的代碼的處理“ }catch(Exception e){”;對出現異常的代碼的處理“ }”,“try{”,資源的獲取“ }finally{”,資源的釋放。
必須執(zhí)行的代碼指用于資源釋放,多線程中的鎖對,流的釋放,數據庫的關閉等。如所遇異常為自定義異常,即自己定義的異常類,由于Exception里面有異常的基本功能,一般我們都是寫Exception的子類。
為什么要有自定義異常類?因為系統沒有定義好的異常需要自己定義。我們解決的是系統沒有解決的問題。例如訂單異常 ,除數為負數異常,用戶登錄異常,賬戶異常。
以上是關于異常知識點的整理,更多知識點分析,即將呈上。從平凡到卓越,為夢想而拼搏。千鋒Java培訓讓你的人生不見“異常”。