Exception

2023/09/25閱讀時間約 1 分鐘

Error分為三種

Compile time error
Runtime error 俗稱(Exception)
Logical error

Compile time error 編譯時報錯

例如:程式語法出錯、找不到引用的package等等

在編寫程式時出現的紅色毛毛蟲底線等就是在提示你此處編譯會有問題


Runtime error 執行時報錯

此種錯誤會直接影響,甚至終止程式的運行

例如: 排程讀取某個路徑下的檔案做後續操作使用

結果某次執行時突然找不到該檔案

此時就會發生Runtime error,也就是Exception

因此需要在任何可能發生Runtime error的地方加上try catch

針對發生Runtime error (Exception)時,該做何種例外處理

避免程式卡住、終止運行


Logical error 邏輯報錯

編譯沒問題,執行也沒問題

但功能的實際輸出結果與預期的不同

極端簡單的舉例: 預期2*9=18,結果實際輸出結果不是18

可以簡單說,邏輯錯誤就是常說的bug


Exception階層結構

raw-image

Throwable底下有兩個子類 - Error 和 Exception

Error 的部分是出錯了,我們也沒辦法透過程式catch住並處理的

我們主要要做例外處理的是Exception的部分


而Exception又分為兩大種類 - unchecked 和 checked Exception

藍色框框的unchecked exception部分要在程式實際運行之後才會知道是否會有問題,隨著經驗累積,在編寫程式時就能順手將try catch先寫上,例如最常見的Null問題

checked exception部分,最常見的就是資料庫連線、sql語句、讀寫檔案IO問題等,這類問題在編寫時,IDE就會強制要求你對該問題做好try catch例外處理


我的Java學習日記
留言0
查看全部
發表第一個留言支持創作者!