其實(shí)在Java中的異常在Swift中也曾看到過,但是在實(shí)際中沒有用過,所以也不知道具體的效果,可能在Siwft中的異常處理機(jī)制比較溫和吧,Java中數(shù)組越界,或者其他錯(cuò)誤都會(huì)導(dǎo)致程序直接停止.所以異常對(duì)于Java來說其實(shí)也是很重要的一個(gè)機(jī)制吧.
1.所謂的異常就是在Java程序運(yùn)行過程中出現(xiàn)的錯(cuò)誤.
- Error : 直接的錯(cuò)誤信息,網(wǎng)絡(luò)回調(diào)錯(cuò)誤,數(shù)據(jù)庫(kù)異常等.
- Execption : 異常信息,較為核心的是RuntimeException子類
注:以上兩個(gè)類都是繼承了Throwable的類
2.try...catch 的格式(方式)
- A:異常處理的兩種方式
- a:try…catch…finally
注意:1.被finally控制的語句體一定會(huì)執(zhí)行
2.用于釋放資源,在IO流操作和數(shù)據(jù)庫(kù)操作中會(huì)見到- try catch
- try catch finally
- try finally
- b:throws
- a:try…catch…finally
- B:try...catch處理異常的基本格式
- try…catch…finally
3.那么我們?nèi)绾芜x擇異常處理的方式呢?
- 原則:如果該功能內(nèi)部可以將問題處理,用try,如果處理不了,交由調(diào)用者處理,這是用throws
- 區(qū)別:
- 后續(xù)程序需要繼續(xù)運(yùn)行就try
- 后續(xù)程序不需要繼續(xù)運(yùn)行就throws
4.自定義異常的主要原因是為了可以快速定位異常的原因
- 一種是繼承自RuntimeException,另外一種是繼承Exception.
其實(shí)對(duì)于異常的使用,還是不是特別理解,日后回來再填坑.