開發軟件都有過這樣的經歷寫了一段代碼,自信滿滿的運行,啪嘰!報錯了!看了好半天也不知道哪裡得問題,捅咕 捅咕,結果又好了!控制檯打了錯誤也看不懂,到頭來自己都不知道是哪裡出了問題!
這就是好多剛開始學習編程的都有的一種情況,所以說對於java處理異常分類及處理是雖然基礎但是也是java的核心知識點。
java當中什麼異常:這不需要解釋了,也沒人問題什麼是異常!簡單的說就是,某個方法不能按照正常的途徑完成任務,就可以通過另一種路徑退出方法。所以java給你搞了一個異常類。重要的是解決異常發現你代碼哪裡有問題。所有的異常類都有一個爹:Throwable: 他有兩個兒子Error和Exception 直接上圖:
Error:這種問題我們也無能為力因為Error 類是指 java 運行時系統的內部錯誤和資源耗盡錯誤。應用程序不會拋出該類對象。如果出現了這樣的錯誤,除了告知用戶,剩下的就是盡力使程序安全的終止。
Checked Exception:Java編譯器就會自動檢查出來,告訴你這個地方可能會有異常你要用try catch捕獲處理或者用throws 進行聲明把他給拋出去;
題外話:知道throw和throws的區別嗎?
簡單說一下:throw定義異常對象,在程序體內明確定義了錯誤信息;
throws是定義在函數後面的 比如public void abc() throws exception{} 就是告訴調用者 我這個函數有可能拋出這個類型的異常你自己要捕獲處理。
public void test(int b) throws IOException,{
try{
......
}catch(Exception e){
System.out.println("擦!出錯了!");
}
if(a!=b)
throw new Exception(" a不等b了 你二是不是!");
}
RuntimeException:如 : NullPointerException 、 ClassCastException ; 一 個 是 檢 查 異 常
CheckedException,如 I/O 錯誤導致的 IOException、SQLException。 RuntimeException 是
那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。 如果出現 RuntimeException,那麼一
定是程序員的錯誤.。下面是常用的異常圖:
檢查異常 CheckedException:一般是外部錯誤,這種異常都發生在編譯階段,Java 編譯器會強
製程序去捕獲此類異常,即會出現要求你把這段可能出現異常的程序進行 try catch
頭條這圖片真是無能為力啊!我想給你們高清沒辦法!要不就轉發私信 我發你好不好!
給個關注行不行!
閱讀更多 少年編程 的文章