java 異常分類和處理機制
一、背景介紹
程式在執行過程中發生錯誤或異常情況是不可避免的,如果每一個執行時錯誤都由程式設計師手動控制和處理,其工作量是不可想象的。
Java語言中的異常處理機制就解決的上述問題,把錯誤與異常的管理帶到了面向物件的世界Java語言定義了很多異常類,將執行錯誤和異常的資訊和處理方法封裝在了異常類中,幫助程式設計師檢查和控制異常。即Java造好了工具,程式設計師只要學會使用工具。
二、java異常分類
Java語言按照錯誤嚴重性,從throwale根類衍生出Error和Exception兩大派系
Error(錯誤):程式在執行過程中所遇到的硬體或作業系統的錯誤。錯誤對程式而言是致命的,將導致程式無法執行。常見的錯誤有記憶體溢位,jvm
EXCEPTION(異常):是程式正常執行中,可以預料的意外情況。比如資料庫連線中斷,空指標,陣列下標越界。異常出現可以導致程式非正常終止,也可以預先檢測,被捕獲處理掉,使程式繼續執行。
EXCEPTION(異常)按照性質,又分為編譯異常(可檢測)和執行時異常(不可檢測)。
編譯時異常:又叫可檢查異常,通常時由語法錯和環境因素(外部資源)造成的異常。比如輸入輸出異常IOException,資料庫操作SQLException。其特點是,Java語言強制要求捕獲和處理所有非執行時異常。通過行為規範,強化程式的健壯性和安全性。
執行時異常:又叫不檢查異常RuntimeException,這些異常一般是由程式邏輯錯誤引起的,即語義錯。比如算術異常,空指標異常NullPointerException,下標越界IndexOutOfBoundsException。執行時異常應該在程式測試期間被暴露出來,由程式設計師去除錯,而避免捕獲。
所以,java語言處理執行時錯誤有三種方式,
一是程式不能處理的錯誤,二是程式應該避免而可以不去捕獲的執行時異常,三是必須捕獲的非執行時異常。
三、java異常處理機制
java預設處理機制:
1丟擲異常
2終止程式
異常處理程式機制:
1丟擲異常
2try-catch-finally 捕獲和處理異常
當Java