1. 程式人生 > >安全程式設計(十三)- 異常

安全程式設計(十三)- 異常

1.引言

        Throwable類所有的異常和錯誤的超類,有兩個子類Error和Exception,分別表示錯誤和異常。其中異常類Exception又分為執行類異常(RuntimeException)和非執行時異常。

        Error(錯誤):是程式無法處理的錯誤。表示執行應用程式中較嚴重的問題。大多數錯誤與程式碼編寫者執行的操作無關,而表示程式碼執行時JVM出現的問題。如:Java虛擬機器執行時錯誤(Virtual MachineError);當JVM執行記憶體不足是的OutOfMemoryError;這些錯誤發生時,JVM一般會選擇執行緒終止。

        異常和錯誤的區別:異常能被程式本身處理的,而錯誤是無法處理。

順便說句題外話:當游標不能在某兩個字的中間而是選中某個字時,那是因為你按了鍵盤上的numlock之後又按了0,所以滑鼠點的時候總是選中某個字而不是某個位置。

2.異常的分類

        在此之前先放一張圖:

        執行時異常:都是RuntimeException類極其子類異常,程式中可以選擇捕獲處理,也可以不處理。這些異常一般是由程式邏輯錯誤引起的,程式應該從邏輯角度儘可能的避免這類異常。這類問題通常是由軟體本身的缺陷導致的,和使用者沒關係,使用者無法解決;

        非執行時異常:是RuntimeException以外的異常,從程式語法角度上講必須進行異常的處理,如果不處理,程式就不能編譯通過。非程式的問題,比如檔案讀寫的時候出現:磁碟空間不足,沒有讀寫許可權等。程式無法解決,如沒有網路連線。