在java中,會經常遇到異常,java提供了兩種拋出異常的方式。
方式一:
throws ,拋出具體代碼中的異常,這種方式編譯器都會提示,舉例:
public static void main(String[] args) throws IOException
方式二:try{ } catch{}拋出異常
在try中放入待執行代碼,如果程序正常運行就會執行try中的代碼,如果出現異常,就會執行catch中的代碼,當然,try后面可以跟多個catch,舉例:
try { br.close(); } catch (IOException e2) { System.out.println("用戶釋放資源失敗"); } ...
注意點:1.在接口的實現類中,如果定義的接口抽象方法中沒有拋出異常,在重寫的抽象方法中是不能通過throws這種方式拋出異常的,因為父類沒有拋出異常,子類是不能拋出異常的。
2.當通過try catch這種方法拋出異常的時候要注意拋出異常的順序,異常范圍小的放在前面,異常范圍大的放在后面,在這里舉個例子:
try{ //待執行的代碼 } catch (FileNotFoundException e) { System.out.println("找不到文件"); } catch (IOException e) { System.out.println("IO操作失敗"); }
之前是把FileNotFoundException放在后面,一直報錯,之后查找了一些資料才明白。