在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java中異常處理原則總結(jié)

汽車玩家 ? 來源:今日頭條 ? 作者:咔咔侃技術(shù) ? 2020-04-15 17:32 ? 次閱讀

見過很多人在進(jìn)行異常處理的時(shí)候,直接一個(gè) e.printStackTrace() 就完成了,這是一種非常粗陋的做法,首先會(huì)導(dǎo)致應(yīng)用日志的大量錯(cuò)誤信息,而很多時(shí)候你都不知道這些錯(cuò)誤信息因何發(fā)生;再者,反應(yīng)到用戶端將直接導(dǎo)致用戶無法獲取操作的結(jié)果以及失敗的原因。

以下 15 條異常處理的原則來自國外的博客:

不用使用異常來管理業(yè)務(wù)邏輯,應(yīng)該使用條件語句。如果一個(gè)控制邏輯可通過 if-else 語句來簡單完成的,那就不用使用異常,因?yàn)楫惓?huì)降低代碼的可讀性和性能,例如一些 null 的判斷邏輯、除0的控制等等;

異常的名字必須清晰而且有具體的意思,表示異常發(fā)生的問題,例如 FileNotFoundException 就很清晰直觀

當(dāng)方法判斷出錯(cuò)該返回時(shí)應(yīng)該拋出異常,而不是返回一些錯(cuò)誤值,因?yàn)殄e(cuò)誤值難以理解而且不夠直觀,例如拋出 FileNotFoundException 異常,而不是返回 -1 或者 -2 之類的錯(cuò)誤值。

應(yīng)該捕獲指定的異常,而不是 catch(Exception e) 了事,這對性能、代碼的可讀性以及諸多方面都有好處

Null 的判斷邏輯并不是一成不變的,當(dāng)方法允許返回 null 的時(shí)候使用 if-else 控制邏輯,否則就拋出 NullPointerException

盡量不要二次拋出異常,如果非得這么做的話,拋出同一個(gè)異常示例,而不是重新構(gòu)建一個(gè)異常對象,這對性能是有幫助的,而且外層調(diào)用者可獲取真實(shí)的異常信息

定義你自己的異常類層次,例如 UserException 和 SystemException 分別代表用戶級(jí)別的異常信息和系統(tǒng)級(jí)別的異常信息,而其他的異常在這兩個(gè)基類上進(jìn)行擴(kuò)展

明確的使用不同的異常類型:

Fatal: System crash states.

Error: Lack of requirement.

Warn: Not an error but error probability.

Info: Info for user.

Debug: Info for developer.

不要僅僅捕獲異常而不做任何處理,不便于將來維護(hù)

不要多次重復(fù)記錄同一個(gè)異常,這可以讓我們清晰的了解異常發(fā)生的位置

請使用 finally 來釋放一些打開的資源,例如打開的文件、數(shù)據(jù)庫連接等等

大部分情況下不建議在循環(huán)中進(jìn)行異常處理,應(yīng)該在循環(huán)外對異常進(jìn)行捕獲處理

異常的粒度很重要,應(yīng)該為一個(gè)基本操作定義一個(gè) try-catch 塊,不要為了簡便,將幾百行代碼放到一個(gè) try-catch 塊中

為你的異常生成足夠的文檔說明,至少是 JavaDoc

為每個(gè)異常消息定義一個(gè)數(shù)值,這對好的文檔來說是非常重要的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2982

    瀏覽量

    106386
收藏 人收藏

    評論

    相關(guān)推薦

    Java的常用異常處理方法 java推薦

    Java異常情況分為Exception(異常)和Error(錯(cuò)誤)兩大類,Java異常通常
    發(fā)表于 01-19 17:26

    Java捕獲異常處理的常用方法

    Java異常情況分為Exception(異常)和Error(錯(cuò)誤)兩大類,Java異常通常
    發(fā)表于 11-27 11:40

    Java異常處理及其應(yīng)用

    Java異常處理引出 假設(shè)您要編寫一個(gè) Java 程序,該程序讀入用戶輸入的一行文本,并在終端顯示該文本。 程序如下: 1 import ja
    發(fā)表于 11-09 12:03 ?15次下載

    Java包、接口與異常處理(exception) 實(shí)驗(yàn)

    實(shí)驗(yàn) 4 包、接口與異常處理(exception) 一、實(shí)驗(yàn)?zāi)康?    了解 Java 包(package)、接口(interface)和
    發(fā)表于 09-23 19:00 ?1256次閱讀

    java異常處理的設(shè)計(jì)與重構(gòu)

    在程序設(shè)計(jì),進(jìn)行異常處理是非常關(guān)鍵和重要的一部分。一個(gè)程序的異常處理框架的好壞直接影響到整個(gè)項(xiàng)目的代碼質(zhì)量以及后期維護(hù)成本和難度。試想一下
    發(fā)表于 09-27 15:40 ?1次下載
    <b class='flag-5'>java</b><b class='flag-5'>異常</b><b class='flag-5'>處理</b>的設(shè)計(jì)與重構(gòu)

    java異常處理設(shè)計(jì)和一些建議

    程序設(shè)計(jì)在程序設(shè)計(jì),進(jìn)行異常處理是非常關(guān)鍵和重要的一部分。一個(gè)程序的異常處理框架的好壞直接影響到整個(gè)項(xiàng)目的代碼質(zhì)量以及后期維護(hù)成本和難度。
    發(fā)表于 09-28 11:48 ?0次下載
    <b class='flag-5'>java</b><b class='flag-5'>異常</b><b class='flag-5'>處理</b>設(shè)計(jì)和一些建議

    Java異常選擇和使用的誤區(qū)和經(jīng)驗(yàn)總結(jié)

    本文著重介紹了 Java 異常選擇和使用的一些誤區(qū),希望各位讀者能夠熟練掌握異常處理的一些注意點(diǎn)和原則
    發(fā)表于 11-27 08:54 ?1433次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>異常</b>選擇和使用的誤區(qū)和經(jīng)驗(yàn)<b class='flag-5'>總結(jié)</b>

    處理 Java 異常原則的詳細(xì)分析

    Java異常提供了一種識(shí)別及響應(yīng)錯(cuò)誤情況的一致性機(jī)制,有效地異常處理能使程序更加健壯、易于調(diào)試。
    的頭像 發(fā)表于 12-25 11:09 ?3823次閱讀
    對<b class='flag-5'>處理</b> <b class='flag-5'>Java</b> <b class='flag-5'>異常</b>三<b class='flag-5'>原則</b>的詳細(xì)分析

    Java異常處理機(jī)制

    的負(fù)擔(dān))。 如果自己能處理的意外情況,盡量就地處理掉,別傳播出去,增加客戶端程序員的負(fù)擔(dān)。如果非得傳播出去,可以考慮在方法的聲明中用throws關(guān)鍵字傳播運(yùn)行時(shí)異常。 不要隨便自己定義異常
    發(fā)表于 03-26 11:44 ?6次下載

    java教程之如何進(jìn)行Java異常處理

    本文檔的主要內(nèi)容詳細(xì)介紹的是java教程之如何進(jìn)行Java異常處理
    發(fā)表于 09-28 17:16 ?0次下載

    Java教程之零點(diǎn)起飛學(xué)Java異常處理資料說明

    Java語言提供了異常機(jī)制來處理程序運(yùn)行過程可能發(fā)生的各種非正常事件。通過異常處理機(jī)制,大大提
    發(fā)表于 02-20 10:41 ?11次下載
    <b class='flag-5'>Java</b>教程之零點(diǎn)起飛學(xué)<b class='flag-5'>Java</b>的<b class='flag-5'>異常</b><b class='flag-5'>處理</b>資料說明

    Java程序設(shè)計(jì)教程之異常處理的詳細(xì)資料說明

    本文檔的詳細(xì)介紹的是Java程序設(shè)計(jì)教程之異常處理的詳細(xì)資料說明主要內(nèi)容包括了:1 什么是異常,2異常
    發(fā)表于 02-22 10:27 ?13次下載
    <b class='flag-5'>Java</b>程序設(shè)計(jì)教程之<b class='flag-5'>異常</b><b class='flag-5'>處理</b>的詳細(xì)資料說明

    10個(gè)Java編程異常處理最佳實(shí)踐

    這里是我收集的10個(gè)Java編程中進(jìn)行異常處理的10最佳實(shí)踐。在Java編程對于檢查異常有褒有
    的頭像 發(fā)表于 05-03 17:49 ?2056次閱讀

    Java高級(jí)編程之異常處理

    對于我們所開發(fā)的程序而言,錯(cuò)誤是無法避免的。本文闡述了如何運(yùn)用java異常處理機(jī)制為我們控制和處理異常的出現(xiàn),從而保證程序的安全性和可用性
    發(fā)表于 07-08 16:14 ?19次下載
    <b class='flag-5'>Java</b>高級(jí)編程之<b class='flag-5'>異常</b><b class='flag-5'>處理</b>

    Java怎么排查oom異常

    Java的OOM(Out of Memory)異常是指當(dāng)Java虛擬機(jī)的堆內(nèi)存不足以容納新的對象時(shí)拋出的異常。OOM
    的頭像 發(fā)表于 12-05 13:47 ?1415次閱讀
    主站蜘蛛池模板: 一区二区三区视频在线 | 男人的亚洲天堂 | 狠狠插综合网 | 深点再深一点好爽好多水 | 欧美精品综合一区二区三区 | 激情福利网站 | 欧美色操| 视频高清正版在线观看 | 婷婷综合久久狠狠色99h | 人与性www| 天天碰天天 | www.av123| 一区二区在线免费观看 | 69国产视频 | 欧美色图一区二区 | 伊人久久大香线蕉综合bd高清 | 天堂一区二区三区在线观看 | 天天摸日日摸 | 五月在线观看 | 亚洲人成电影在线小说网色 | 乱色伦短篇小说 | 91av在线视频观看 | 日本在线不卡一区 | www资源| 一区二区三区福利 | 久久国产精品自在自线 | 久青草国产在线视频_久青草免 | 亚洲理论在线观看 | 超级碰碰青草免费视频92 | 午夜老司机永久免费看片 | 91中文在线 | 黄色录像大全 | 日本不卡毛片一二三四 | 色综合天天综合网国产成人网 | 色噜噜狠狠大色综合 | 久久婷婷人人澡人人爱91 | 一级视频免费观看 | 亚洲先锋资源 | 成人三级电影在线观看 | a天堂资源 | 日日躁夜夜躁狠狠天天 |