【知了堂學習筆記】java 自定義異常


 java 常見異常種類(Java Exception):

 

算術異常類:ArithmeticExecption

 

空指針異常類:NullPointerException

 

類型強制轉換異常:ClassCastException

 

數組負下標異常:NegativeArrayException

 

數組下標越界異常:ArrayIndexOutOfBoundsException

 

違背安全原則異常:SecturityException

 

文件已結束異常:EOFException

 

文件未找到異常:FileNotFoundException

 

字符串轉換為數字異常:NumberFormatException

操作數據庫異常:SQLException

輸入輸出異常:IOException

方法未找到異常:NoSuchMethodException

 

 

常見異常類為兩大類型Throwable是java異常的根類分為兩大子類Error和Exception, Error類代表了編譯和系統的錯誤,不允許捕獲;Exception類代表了標准Java庫方法所激發的異常。Exception類還包含運行異常類Runtime_Exception和非運行異常類Non_RuntimeException這兩個直接的子類。

今天主要談談自定義異常

為什么要自定義異常

我們不可能期待JVM(Java虛擬機)自動拋出一個自定義異常,也不能夠期待JVM會自動處理一個自定義異常。所以發現異常以及異常處理還是得我們自己完成。所以我們要想做好一件事得先了解它是怎么產生的。

自定義異常的實例:

package text;

//自定義一個異常繼承RuntimeException異常

public class Exception extends RuntimeException {
    public Exception() {
        super("自定義一個異常類");
    }
}

// 模擬服務器異常登錄

public class ConnectionServer {
    private final String ID = "123456";
    private final String password = "guoxiao";

    public void connect(String ID, String password) throws Exception {
        if (this.ID != ID || this.password.equals(password)) {
            throw new Exception();

            // 模擬失敗過程然后方法內部拋出異常
        }
    }
}

// 模擬登錄過程

public class LoginText {

    public static void main(String[] args) {
        LoginText laozhu = new LoginText();
        laozhu.login("556ssa", "553xha");

        // 創建一個老朱對象,然后登陸,讓服務器返回一個異常。
    }

    public void login(String ID, String password) {
        ConnectionServer connectionServer = new ConnectionServer();
        try {
            connectionServer.connect(ID, password);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

}

不用try{ }catch(){}處理的輸出結果

用try{}catch(){}處理的輸出結果

 

www.zhiliaotang.com 請關注知了堂學習更多的java知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM