1. 程式人生 > >第五十八條 對可恢復的情況使用受檢異常,對程式設計錯誤使用執行時異常

第五十八條 對可恢復的情況使用受檢異常,對程式設計錯誤使用執行時異常


對於異常,我們知道,基類為 Throwable,它有兩個子類,Exception 和 Error,Exception 通常被稱為異常, Error被稱為錯誤。Exception異常又分為兩種,一種是受檢異常(checkedexception) ,另一種是執行時異常(runtime exception) 。在決定使用受檢異常或執行異常時,主要原則: 如果期望呼叫者能夠是當地恢復,對於這種情況就應該使用受檢異常。通過丟擲受檢異常,在catch 中對該處進行異常處理,然後繼續往下面走邏輯。因此,方法中丟擲每個受檢異常,都是對使用者的一種提示:這是一種可能的結果。執行時異常和錯誤,它們都是不需要也不應該被捕獲的可丟擲結構,如果丟擲這方面異常,往往就屬於不可恢復的情形,繼續執行下去有害無益,如果程式沒有捕獲,則程式可能停止,並出現錯誤訊息。執行時異常表明程式設計錯誤,它標識著使用者違反了api的使用規則,例如,陣列越界異常,表明陣列下標值必須在零和陣列長度減1之間,空指標異常表明物件不能為空。

使用異常的原則: 
一、 如果希望使用者能夠適當地恢復程式碼邏輯,則使用受檢的異常。 
二、 用執行時異常來檢查和防範並標明編碼有錯誤。 
三、 如果不確定是否有可能恢復,則使用未受檢異常。