算術異常類:ArithmeticExecptionjava
空指針異常類:NullPointerException數據庫
類型強制轉換異常:ClassCastException數組
數組負下標異常:NegativeArrayException安全
數組下標越界異常:ArrayIndexOutOfBoundsException服務器
違背安全原則異常:SecturityExceptionpost
文件已結束異常:EOFException學習
文件未找到異常:FileNotFoundExceptionthis
字符串轉換爲數字異常:NumberFormatExceptionspa
操做數據庫異常: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知識