異常

1.異常是什么?

異常聽起來非常容易懂,不就是出錯嘛,程序出錯。對的,在普通意義上異常就是程序出的不正?,F象,但是為了更好的理解更透徹的理解:要強調兩點的是,

1. 異常不意味著代碼一定寫錯了,它只是意味著出現了不常見的情況
2. 異常不一定就要用捕獲機制或者繼續拋出來處理

比如說編寫一個計算器,期待用戶輸入的是數字,但是用戶卻輸入了'a'、'b'、'c'等字符,也就是一種不常見情況,因而如果程序考慮不周全的話會使得程序出錯。這種情況我們平時都是通過if,else等語句直接避免用戶的極端輸入(這就是一種對異常的處理方式),但是也可以通過捕獲機制進行處理,也可以不處理...

異常是指對于程序來說可能或已經出現的不常見的情況

2.異常有哪幾種?(問題的輸入)

異常.jpg

也就是說,分程序的異常和系統內部的異常,前者可以修改解決,后者咱們能做的很有限。

(至于說已檢查異常和未檢查異常我不在這里作區分,原因就在于檢查與否代表的含義并不是用來區分異常的種類的,而是代表了處理過程上的不同)

3.異常如何處理呢?(問題的輸出)

這里不同的異常,處理的方式也是不一樣的,接下來我來解釋一下為什么要用這些方式解決這些異常
下面是幾種異常的種類

異常一(Error):出現這類異常代表系統內部出現錯誤,我們改代碼無能為力,只能對系統內部檢查。因此我們在代碼上不需要做任何處理,只需要一出現Error程序立刻終止就行,然后我們再去排除系統問題

異常二(RuntimeException):這類異常出現代表代碼里面有運行錯誤,也就是出現了程序有bug,程序根本就不能正常運行,這時我們必須立刻終止程序,然后排查,修改代碼不正確的地方

異常三(其他異常):例如IOException,當出現文件為空等現象時,程序出錯。這種錯誤呢,可能代碼上面邏輯是沒錯的,比如輸出文件,我就打印就好了,但是文件是空的無法輸出,也有這種情況的,屬于正常情況,那么我們就要對這個這種情況進行另一種代碼的邏輯(也就是異常處理)。

最終對異常的處理情況就如下圖:


異常辦法.png

每一個異常都可以在這下面選擇一種辦法去解決,就看你的需求了。

所謂已檢查異常和未檢查異常,就是需求不同,未檢查異常呢就是說一出現這種錯咱立刻終止程序,讓程序員去保證這錯不再出現;已檢查異常呢就是說出現它之后必須要進行另一種邏輯的異常

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容