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