最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Exception異常類(lèi)的繼承體系詳解

 更新時(shí)間:2025年11月22日 09:22:34   作者:丿似錦  
Java中的異常處理機(jī)制分為異常(Exception)和錯(cuò)誤(Error)兩大類(lèi),異常分為編譯時(shí)異常(CheckedException)和運(yùn)行時(shí)異常(RuntimeException),編譯時(shí)異常需在代碼中顯式處理,而運(yùn)行時(shí)異??梢允褂胻ry-catch塊捕獲

1. 異常類(lèi)的繼承體系

Java把所有的非正常情況分成兩種:異常(Exception)和錯(cuò)誤(Error),它們都繼承Throwable父類(lèi)。

2. Error錯(cuò)誤

Error錯(cuò)誤,一般是指與虛擬機(jī)相關(guān)的問(wèn)題,如系統(tǒng)崩潰、虛擬機(jī)錯(cuò)誤、動(dòng)態(tài)鏈接失敗等,這種錯(cuò)誤無(wú)法恢復(fù)或不可能捕獲,將導(dǎo)致應(yīng)用程序中斷。

通常應(yīng)用程序無(wú)法處理這些錯(cuò)誤,因此應(yīng)用程序不應(yīng)該試圖使用catch塊來(lái)捕獲Error對(duì)象。

在定義該方法時(shí),也無(wú)須在其throws子句中聲明該方法可能拋出Error及其任何子類(lèi)。

3. Exception異常

Exception分為兩大類(lèi):

  • 運(yùn)行時(shí)異常 [即程序運(yùn)行時(shí),發(fā)生的異常]。
  • 編譯時(shí)異常 [即編程時(shí)編譯器檢查出的異常,Checked異常]。

所有的RuntimeException類(lèi)及其子類(lèi)的實(shí)例被稱(chēng)為Runtime異常;不是RuntimeException類(lèi)及其子類(lèi)的異常實(shí)例則被稱(chēng)為Checked異常。

3.1 編譯時(shí)異常: Checked Exception

只有Java語(yǔ)言提供了Checked異常,其他語(yǔ)言都沒(méi)有提供Checked異常。Java認(rèn)為Checked異常都是可以被處理(修復(fù))的異常,所以Java程序必須顯式處理Checked異常。

如果程序沒(méi)有處理Checked異常,該程序在編譯時(shí)就會(huì)發(fā)生錯(cuò)誤,無(wú)法通過(guò)編譯。

Checked異常體現(xiàn)了Java的設(shè)計(jì)哲學(xué)——沒(méi)有完善錯(cuò)誤處理的代碼根本就不會(huì)被執(zhí)行!

對(duì)于Checked異常的處理方式有如下兩種:

(1)當(dāng)前方法明確知道如何處理該異常,程序應(yīng)該使用try…catch塊來(lái)捕獲該異常,然后在對(duì)應(yīng)的catch塊中修復(fù)該異常。

(2)當(dāng)前方法不知道如何處理這種異常,應(yīng)該在定義該方法時(shí)聲明拋出該異常。

常見(jiàn)的編譯異常:

  • SQLException 操作數(shù)據(jù)庫(kù)時(shí),查詢(xún)表可能發(fā)生異常
  • IOException 操作文件時(shí)發(fā)生的異常
  • FileNotFoundException 當(dāng)操作一個(gè)不存在的文件時(shí),發(fā)生異常
  • ClassNotFoundException 加載類(lèi),但是該類(lèi)不存在時(shí),發(fā)生異常
  • EOFException 操作文件,到文件末尾,發(fā)生異常
  • IllegalArguementException 參數(shù)異常

3.2 運(yùn)行時(shí)異常:Runtime Exception

RuntimeException即程序運(yùn)行時(shí)發(fā)生的異常,編譯時(shí)檢測(cè)不到這種異常:

程序運(yùn)行后,拋出異常:

Runtime異常則更加靈活,Runtime異常無(wú)須顯式聲明拋出,如果程序需要捕獲Runtime異常,也可以使用try…catch塊來(lái)實(shí)現(xiàn)。

通過(guò)try…catch捕獲異常,并打印異常棧信息:

常見(jiàn)的運(yùn)行時(shí)異常:

  • NullPointerException 空指針異常
  • ArithmeticException 數(shù)學(xué)運(yùn)算異常
  • ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界異常
  • ClassCastException 類(lèi)型轉(zhuǎn)換異常
  • NumberFormatException 數(shù)字格式不正確異常

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java在運(yùn)行時(shí)能修改工作目錄嗎

    java在運(yùn)行時(shí)能修改工作目錄嗎

    這篇文章主要給大家介紹了關(guān)于java在運(yùn)行時(shí)能修改工作目錄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 如何解決@SpringBootApplication報(bào)錯(cuò)問(wèn)題

    如何解決@SpringBootApplication報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了如何解決@SpringBootApplication報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java中properties文件中的中文亂碼問(wèn)題

    Java中properties文件中的中文亂碼問(wèn)題

    Properties為了方便用戶(hù)的配置,用于讀取Java的配置文件,不同的編程語(yǔ)言有自己所支持的配置文件,能讓用戶(hù)夠脫離程序本身去修改相關(guān)的變量設(shè)置,這篇文章主要介紹了Java中properties文件中的中文亂碼問(wèn)題,需要的朋友可以參考下
    2023-08-08
  • Java關(guān)于MD5文件校驗(yàn)問(wèn)題處理

    Java關(guān)于MD5文件校驗(yàn)問(wèn)題處理

    文章主要介紹了Java獲取文件MD5值的五種方法,包括原始讀入內(nèi)存、分多次讀入、使用字節(jié)數(shù)組轉(zhuǎn)十六進(jìn)制字符串、利用commons-codec包等,并解釋了MD5算法原理、用途及安全性,最后提供了驗(yàn)證生成MD5值正確性的方法
    2026-03-03
  • Druid監(jiān)控分布式實(shí)現(xiàn)過(guò)程解析

    Druid監(jiān)控分布式實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Druid監(jiān)控分布式實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • springboot validator枚舉值校驗(yàn)功能實(shí)現(xiàn)

    springboot validator枚舉值校驗(yàn)功能實(shí)現(xiàn)

    這篇文章主要介紹了springboot validator枚舉值校驗(yàn)功能實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java編程思想對(duì)象的容納實(shí)例詳解

    Java編程思想對(duì)象的容納實(shí)例詳解

    這篇文章主要介紹了Java編程思想對(duì)象的容納實(shí)例詳解,內(nèi)容比較詳細(xì),涵蓋的東西也比較多,具有參考價(jià)值,需要的朋友了解下。
    2017-09-09
  • java枚舉使用詳細(xì)介紹及實(shí)現(xiàn)

    java枚舉使用詳細(xì)介紹及實(shí)現(xiàn)

    這篇文章主要介紹了java枚舉使用詳細(xì)介紹及實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Spring?MVC概念+項(xiàng)目創(chuàng)建+@RequestMappring案例代碼

    Spring?MVC概念+項(xiàng)目創(chuàng)建+@RequestMappring案例代碼

    Spring?MVC?是?Spring?提供的一個(gè)基于?MVC?設(shè)計(jì)模式的輕量級(jí)?Web?開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于?Servlet,這篇文章主要介紹了Spring?MVC概念+項(xiàng)目創(chuàng)建+@RequestMappring,需要的朋友可以參考下
    2023-02-02
  • Spring Boot集成SpringFox 3.0與Pageable參數(shù)處理方法

    Spring Boot集成SpringFox 3.0與Pageable參數(shù)處理方法

    這篇文章主要介紹了Spring Boot集成SpringFox 3.0與Pageable參數(shù)處理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

宝山区| 隆昌县| 景谷| 荆门市| 兴国县| 洪雅县| 建瓯市| 兴国县| 新津县| 青浦区| 资兴市| 辛集市| 丰县| 娄烦县| 湟源县| 赫章县| 阜宁县| 通山县| 六盘水市| 伊春市| 绥中县| 宣城市| 霍山县| 随州市| 洞头县| 湖口县| 永定县| 蓬莱市| 铁岭市| 忻州市| 黑河市| 巴马| 丁青县| 湖南省| 全州县| 安仁县| 翁牛特旗| 循化| 穆棱市| 昂仁县| 兴隆县|