使用Python爬取COVID-19疫情資料
阿新 • • 發佈:2020-08-28
異常
什麼是異常處理?
當程式出現異常時,將程式控制權交由異常處理機制來處理。
程式錯誤的分類?
1)編譯錯誤;
2)執行時錯誤;
3)邏輯錯誤;
java異常繼承體系
詳圖如下:
異常處理方式
1.捕捉異常
public static void main(String[] args) { FileInputStream fis = null; try{ fis = new FileInputStream("C:\\Users\\menbbo\\Desktop\\a.txt"); }catch (IOException e){ e.printStackTrace(); }finally { try{ if(fis!=null){ fis.close(); } }catch (IOException e){ e.printStackTrace(); } } } }
2.宣告異常
public static void main(String[] args) throws IOException{ FileInputStream fis= new FileInputStream("C:\\Users\\menbbo\\Desktop\\UnZipController.java"); }
異常與方法重寫
子類異常宣告的範圍不能超過父類宣告的範圍。
1.父類沒有宣告異常,子類也不能宣告。
2.子類重寫的方法中宣告的異常類,需要與父類被重寫方法中宣告的異常類保持一致,或者是父類被重寫方法中宣告的異常類的子類。
自定義異常
1.為什麼要自定義異常?
1)封裝
2)快速定位
2.自定義異常類步驟
1)建立類
2)繼承Exception或者Exception的子類
3)重寫構造方法
public class CustomizeException extendsException{ public CustomizeException(){}; public CustomizeException(String message){ System.out.println(message); } }
手動丟擲異常
手動丟擲異常的步驟:
1)找到一個合適的異常類
2)建立這個異常類的物件
3)丟擲這個物件
public void fun()throws IOException{ throw new IOException(); }
訪問異常資訊
堆疊軌跡(stack trace):方法呼叫過程的列表。
finally回收資源
1.I/O屬於物理資源
2.java垃圾回收機制不會回收物理資源,垃圾回收機制只能回收堆記憶體中物件所佔用的記憶體。
自動關閉資源
多異常捕獲
異常巢狀
Catch和throw同時使用
將原始的異常資訊儲存下來,返還給呼叫者。