Exception

閱讀時間約 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
查看全部
avatar-img
發表第一個留言支持創作者!
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計
abstract method 一定要在 abstract class裡面 abstract class裡面不一定要有abstract method
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
Java不能同時多重繼承 但是可以多層繼承
表面上看似改變了,但底層記憶體中的值是沒有改變的。
普通的interface:有一個以上的abstract method Functinal Interface...
所有被宣告在interface中的method都是public abstract 所以interface中的method才不需要特地標上修飾符與abstract interface只體現設計方向 而如何實現此設計
abstract method 一定要在 abstract class裡面 abstract class裡面不一定要有abstract method
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
Java不能同時多重繼承 但是可以多層繼承
表面上看似改變了,但底層記憶體中的值是沒有改變的。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
Being overweight is exceptionally irksome, how would it be a good idea for me to respond in the event that I don't need a medical procedure? There are
Thumbnail
我曾經擔心臺灣人從此又要更加無法同理這個世界了。那些封過城的社會經歷了一次強迫修行,重新審視自己需要的物質、空間、生活甚至陪伴。臺灣人只繼續過著既有的生活,嚷嚷著口罩難買,嚷著為什麼不能出國。 終於,臺灣的exceptional year也到來了。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
Being overweight is exceptionally irksome, how would it be a good idea for me to respond in the event that I don't need a medical procedure? There are
Thumbnail
我曾經擔心臺灣人從此又要更加無法同理這個世界了。那些封過城的社會經歷了一次強迫修行,重新審視自己需要的物質、空間、生活甚至陪伴。臺灣人只繼續過著既有的生活,嚷嚷著口罩難買,嚷著為什麼不能出國。 終於,臺灣的exceptional year也到來了。