摘要:今天我主要講解一下中異常處理的一些原則,我會盡量以代碼的例子帶大家去直觀的感受異常的處理。首先我們第一個疑惑的問題是異常到底是直接處理,還是向上拋出,供調(diào)用方處理或者框架統(tǒng)一集中處理,最后就是我們講解如何寫出一個我們自己的異常處理框架。
關(guān)于Java異常一些基本的知識我這里就不在說了,大家可以去網(wǎng)上學(xué)習(xí)下。今天我主要講解一下Java中異常處理的一些原則,我會盡量以代碼的例子帶大家去直觀的感受異常的處理。
首先我們第一個疑惑的問題是異常到底是直接處理,還是向上拋出,供調(diào)用方處理或者框架統(tǒng)一集中處理,最后就是我們講解如何寫出一個我們自己的異常處理框架。
關(guān)于異常處理我總結(jié)了以下觀點:
1.對于一些自定義的異常或者可預(yù)見的一些異常,應(yīng)用異常,比如用戶密碼不正確,需要的某個資源不存在等等,拋出自定義檢查型異常,但是真沒有必要每個異常都定義一個異常類,讓操作及時中止,然后交由異常處理框架統(tǒng)一處理。
2.對于調(diào)用一些涉及到需要關(guān)閉資源的操作,及時在finally里面關(guān)閉資源,同時轉(zhuǎn)義成檢查性異常,交由異常處理框架統(tǒng)一處理
3.一些無法預(yù)知的異常,系統(tǒng)異常,比如空指針等異常,無需捕獲,交由異常處理框架統(tǒng)一處理
4.無論是你喜歡拋出檢查性異常還是轉(zhuǎn)義成非檢查性異常,涉及到分包開發(fā)或者交由外部調(diào)用的必須在方法內(nèi)注明可能拋出的異常類型,文檔一定要健全。
我上面說的一般是J2EE開發(fā)相關(guān)的,如果涉及到性能要求比較苛刻,可能這個處理就不太合適了。同時可以看出來我喜歡用非檢查型異常,提倡約定和文檔,不喜歡檢查性異常,不喜歡一層層的拋出。這個仁者見仁,智者見智,我說的也就是一家之言吧。
下面我們開始看各種示例代碼:
后面接著寫。。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/64135.html
摘要:導(dǎo)讀閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構(gòu)師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己進(jìn)行查漏補缺,覺得本文對你有幫助的話,可以點贊關(guān)注一下。目錄一基礎(chǔ)篇二進(jìn)階篇三高級篇四架構(gòu)篇五擴(kuò) 導(dǎo)讀:閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構(gòu)師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己...
以下是Java技術(shù)棧微信公眾號發(fā)布的關(guān)于 Java 的技術(shù)干貨,從以下幾個方面匯總。 Java 基礎(chǔ)篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進(jìn)階篇 Java 新特性篇 Java 工具篇 Java 書籍篇 Java基礎(chǔ)篇 8張圖帶你輕松溫習(xí) Java 知識 Java父類強制轉(zhuǎn)換子類原則 一張圖搞清楚 Java 異常機制 通用唯一標(biāo)識碼UUID的介紹及使用 字符串...
摘要:探索專為而設(shè)計的將探討進(jìn)行了何種改進(jìn),以及這些改進(jìn)背后的原因。關(guān)于最友好的文章進(jìn)階前言之前就寫過一篇關(guān)于最友好的文章反響很不錯,由于那篇文章的定位就是簡單友好,因此盡可能的摒棄復(fù)雜的概念,只抓住關(guān)鍵的東西來講,以保證大家都能看懂。 周月切換日歷 一個可以進(jìn)行周月切換的日歷,左右滑動的切換月份,上下滑動可以進(jìn)行周,月不同的視圖切換,可以進(jìn)行事件的標(biāo)記,以及節(jié)假日的顯示,功能豐富 Andr...
閱讀 2257·2021-11-25 09:43
閱讀 2375·2021-11-24 09:39
閱讀 1677·2021-11-22 12:02
閱讀 3057·2021-11-17 09:33
閱讀 3512·2021-11-15 11:38
閱讀 2947·2021-10-13 09:40
閱讀 1150·2021-09-22 15:41
閱讀 1749·2019-08-30 10:58