中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Java異常體系知識點有哪些

本篇內(nèi)容介紹了“Java異常體系知識點有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站服務(wù)項目包括平城網(wǎng)站建設(shè)、平城網(wǎng)站制作、平城網(wǎng)頁制作以及平城網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平城網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平城省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、異常簡介

優(yōu)秀的程序代碼,都在追求高效,安全,和低錯誤率,但是程序中的異常是無法避免的,降低異常出現(xiàn)的頻率是關(guān)鍵,異常出現(xiàn)如何處理是另一個重要方面,Java體系中異??蚣軐τ谙到y(tǒng)開發(fā)是十分重要的。

面對系統(tǒng)異常時,不要慌亂,異常雖然是錯誤,也是系統(tǒng)發(fā)出的消息,標識系統(tǒng)的缺陷和需要改進的地方。

二、API體系

Java的API中已經(jīng)定義許多異常類,分為兩大類,錯誤Error和異常Exception,Throwable作為所有異常的超類,如圖:

Java異常體系知識點有哪些

Error:一般為底層的不可恢復(fù)的類,一般此類錯誤都比較嚴重,JVM將終止其運行的線程;

  • VirtualMachineError:虛擬機運行錯誤;

  • OutOfMemoryError:內(nèi)存溢出;

Exception:程序本身可以捕獲并且可以預(yù)處理的異常,例如捕獲或者拋出;

  • RuntimeException:運行時異常;

  • CheckException:已檢查異常,編譯階段必須處理;

幾個經(jīng)典的常見的RunTimeException如下:空指針NullPointerException;數(shù)組下標越界ArrayIndexoutofBoundsException等。

三、異常處理

Java異常處理關(guān)鍵字,分別是:try、catch、finally、throw、throws。

應(yīng)該在合適的位置處理異常,異常的處理準則如下:誰知情誰處理,誰負責(zé)誰處理,誰導(dǎo)致誰處理。

Java異常體系知識點有哪些

1、拋出異常

即異常在當前流程下不處理,一種是直接通過方法傳遞給調(diào)用者,throws關(guān)鍵字是用于在方法聲明上聲明拋出異常類型的,并且一次可以聲明拋出多種類型的異常。throw關(guān)鍵字是用于方法的內(nèi)部拋出一個異常對象,常在業(yè)務(wù)校驗時拋出提示。

需要特別說明的一點,在Spring框架中,事務(wù)觸發(fā)多數(shù)是以是否拋出異常為標識來處理的,如果方法在事務(wù)控制內(nèi),方法內(nèi)異常捕獲但是最終沒有拋出,那該事務(wù)則無效。

2、捕獲異常

通常捕獲異常會使用try-catch-finally關(guān)鍵字三連操作:

Try嘗試捕獲異常:

如果語句依次執(zhí)行結(jié)束,則跳過catch,在存在finally代碼塊時,則執(zhí)行否則執(zhí)行后續(xù)流程;

如果捕獲異常,則匹配catch中的類型,如果沒有與之匹配的catch類型,則該異常交給JVM處理,finally代碼會被執(zhí)行,流程之后的代碼不會被執(zhí)行;

如果捕獲異常且存在相匹配的catch類型,則跳到catch代碼塊執(zhí)行,finally代碼會被執(zhí)行,執(zhí)行完finally代碼塊之后繼續(xù)執(zhí)行后續(xù)代碼;

Catch匹配可能出現(xiàn)的異常類型,并在其中做補償處理,例如出現(xiàn)異常情況,需要更新一個異常狀態(tài)等,如果沒有catch塊,后必須跟finally塊,處理資源釋放;

Finally無論是否捕獲異常,finally代碼會被執(zhí)行,也是面試中常見的異常問題之一,例如在finally代碼塊return,或者修改返回值等,主要涉及到值傳遞和引用傳遞方面。

3、異常日志

復(fù)雜的業(yè)務(wù)系統(tǒng)必備功能,異常日志體系,用來分析運行問題,作為系統(tǒng)不斷優(yōu)化的核心依據(jù),通常會記錄如下幾塊:

  • 異常類型:分析異常發(fā)生的關(guān)鍵原因;

  • 異常信息:通常會簡單記錄e.getMsg輸出的內(nèi)容;

  • 異常位置:快速定位異常發(fā)生的位置[類.方法];

  • 業(yè)務(wù)參數(shù):特定業(yè)務(wù)參數(shù)場景才能復(fù)現(xiàn)的問題;

  • 時間節(jié)點:有的并發(fā)問題是在特定時間段出現(xiàn);

異常日志記錄下來之后,還會定期進行任務(wù)分析,不斷發(fā)現(xiàn)系統(tǒng)容易出問題的地方,然后再不斷的改進和優(yōu)化。

4、熔斷降級

在微服務(wù)架構(gòu)系統(tǒng)下,某個服務(wù)故障或者異常,觸發(fā)熔斷該服務(wù),避免引發(fā)整個微服務(wù)鏈路異常,防止整個系統(tǒng)服務(wù)的雪崩。以此緩解服務(wù)器資源的的壓力,以保證核心業(yè)務(wù)的正常運行。

“Java異常體系知識點有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

名稱欄目:Java異常體系知識點有哪些
分享鏈接:http://www.rwnh.cn/article2/pgesic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名品牌網(wǎng)站建設(shè)、建站公司網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
呼伦贝尔市| 衡阳县| 上犹县| 南投市| 富宁县| 景谷| 松桃| 筠连县| 宜州市| 额济纳旗| 泰州市| 友谊县| 罗城| 城口县| 安国市| 民县| 南川市| 林芝县| 龙门县| 正镶白旗| 措勤县| 七台河市| 杨浦区| 镇沅| 惠州市| 榆林市| 扶沟县| 吴江市| 泌阳县| 巨野县| 宣恩县| 柞水县| 庆阳市| 修水县| 黄平县| 宜州市| 武夷山市| 永城市| 贺兰县| 永清县| 长垣县|