【狂神說Java】學習筆記18:異常機制 Exception
阿新 • • 發佈:2021-07-02
【狂神說Java】學習筆記18:異常機制 Exception
[01] 什麼是異常
[02] 異常體系結構
[03] Java異常處理機制
[04] 處理異常
[05] 自定義異常
[06] 總結
--------------------------------------------------------------------
[01] 什麼是異常
異常一般分為三種:
檢查性異常,執行時異常,錯誤ERROR(較致命)
測試員是專門進行測試的。
[02] 異常體系結構
異常體系結構
Error和Exception的區別
Error是由Java丟擲的,大多數於程式碼編譯者無關,但是避免此類Error,因為一旦線上執行的程式崩潰,會造成無法彌補的損失。
Exception一般是程式設計師設計時導致的出錯,
[03] Java異常處理機制
分為丟擲異常和捕獲異常。
[04] 處理異常
例項1:a/b,當b為0的時候出現異常。捕獲異常的寫法。
package oop.Exception; public class demo01 { public static void main(String[] args) { int a = 1; int b = 0; //異常處理時必須要try和catch。可以不要finally。 //catch捕獲多個異常的時候,括號裡的異常型別按從小到大的等級去寫。否則報錯。 try{ //try監控區域 System.out.println(a/b); }catch(ArithmeticException e){ // catch捕獲異常,裡面引數時捕獲的異常型別。 System.out.println("程式出現異常,被除的變數不能為o"); }catch(RuntimeException e){ System.out.println("RuntimeException"); }catch(Exception e){ System.out.println("Exception"); }finally { //結束,可以不加。 System.out.println("finally"); } } } ---------------------------------- 程式出現異常,被除的變數不能為o finally
tips 自動生成程式碼塊
//Ctrl + Alt + T 自動生成程式碼塊。
try {
System.out.println(a/b);
} catch (Exception e) {
e.printStackTrace();
} finally {
}
[05] 自定義異常
Java裡有很多異常的處理,通過自定義異常寫出自己獨特的異常case。
自定義異常例項
自定義一個異常類MyException,使其繼承Exception。(Test1.java來測試這個異常類。)
然後寫規則讓超過10的時候丟擲異常,輸出”丟擲的異常MyException=>MyException{@引數}“的結果。
輸出的數字小於10則輸出這個數,並輸出OK。
[06] 總結
tips
程式異常的時候會自動報錯,顯示紅色,摁住 Alt + Enter ,會自動幫忙處理。
IO資源容易佔用記憶體資源,所以儘量加上finally語塊。