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

Java對異常的認(rèn)識與異常的處理小結(jié)

 更新時間:2025年06月13日 12:03:33   作者:KaitoKur  
Java程序在運(yùn)行時可能出現(xiàn)的錯誤或非正常情況稱為異常,下面給大家介紹Java對異常的認(rèn)識與異常的處理,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

一、認(rèn)識異常與異常類型。

(1)簡單定義-什么是異常?

  • Java程序在運(yùn)行時可能出現(xiàn)的錯誤或非正常情況。

(2)常見比喻

  • 程序運(yùn)行的"安全氣囊"
  • 代碼世界里的"急救系統(tǒng)"

(3)異常類型

  • 編譯時異常:在Exception類中,除了RuntimeException類以外,其他子類都是編譯時異常。Java編譯器會對編譯時異常進(jìn)行檢查,如果出現(xiàn)這類異常就必須對其進(jìn)行處理,否則程序就無法通過編譯。
  • 運(yùn)行時異常RuntimeException類及其子類都是運(yùn)行時異常。運(yùn)行時異常是在程序運(yùn)行時由Java虛擬機(jī)自動進(jìn)行捕獲處理的,Java編譯器不會對異常進(jìn)行檢查。也就是說,當(dāng)程序中出現(xiàn)這類異常時,即使沒有使用try···catch語句捕獲異?;蚴褂胻hrows關(guān)鍵字聲明拋出異常,程序也能編譯通過,只是程序在運(yùn)行過程中可能報錯。
  • Error:系統(tǒng)級別錯誤,程序無法處理(如內(nèi)存溢出)。

   (4)  異常體系圖 

Throwable
├── Error(系統(tǒng)錯誤,如OutOfMemoryError)
└── Exception
    ├── RuntimeException(運(yùn)行時異常/非受檢查異常)
    │   ├── ArithmeticException
    │   ├── NullPointerException
    │   ├── ArrayIndexOutOfBoundsException
    │   └── ...
    └── 其他(編譯時異常/受檢查異常)
        ├── IOException
        ├── SQLException
        ├── ClassNotFoundException
        └── ...

二、異常的處理

  (1)try-catch-finally 基本結(jié)構(gòu)

try {
    // 可能拋出異常的代碼
} catch (ExceptionType1 e) {
    // 處理ExceptionType1類型的異常
} catch (ExceptionType2 e) {
    // 處理ExceptionType2類型的異常
} finally {
    // 無論是否發(fā)生異常都會執(zhí)行的代碼
    // 常用于資源釋放
}
       多重catch塊注意事項
  • 子類異常必須寫在父類異常前面

  • 捕獲異常后程序會繼續(xù)執(zhí)行

 finally塊的特點(diǎn)
  • 無論是否發(fā)生異常都會執(zhí)行

  • 即使try或catch中有return語句,finally也會執(zhí)行

  • 唯一不執(zhí)行finally的情況:System.exit()

小結(jié)
  • try:劃定"危險區(qū)",包裹可能出錯的代碼
  • catch:設(shè)置"急救站",捕獲并處理特定異常
  • finally:建立"清理隊",確保必須執(zhí)行的收尾工作

(2)throws關(guān)鍵字  當(dāng)方法內(nèi)部不處理異常時,可以使用throws聲明拋出

用于方法聲明,表示該方法可能拋出異常但不處理

public void readFile() throws IOException {
    // 方法代碼
}

(3)throw關(guān)鍵字  

使用throw手動觸發(fā)異常

主動拋出異常對象

if (age < 0) {
    throw new IllegalArgumentException("年齡不能為負(fù)數(shù)");
}

(4)自定義異常 

通過繼承Exception或RuntimeException創(chuàng)建

class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

(5)異常處理注意事項

  • 針對性處理:不要捕獲所有異常(避免直接catch Exception)
  • 不要吞掉異常:注意空的catch塊 

三、總結(jié) 

  • 異常是 Java 程序運(yùn)行時可能出現(xiàn)的錯誤或非正常情況,分為可處理的Exception和不可控的Error。
  • 類比現(xiàn)實(shí)中的 “安全氣囊” 或 “急救系統(tǒng)”,用于在程序出錯時攔截問題并處理,避免程序崩潰。
  • 合理的異常處理能讓程序在出錯時優(yōu)雅降級(如提示用戶、記錄日志、重試機(jī)制),而非直接崩潰。
  • 避免在finally塊中編寫復(fù)雜邏輯或拋出新異常,可能導(dǎo)致原有異常被覆蓋。
  • 通過理解異常機(jī)制并遵循最佳實(shí)踐,可顯著提升代碼的健壯性和可維護(hù)性,讓程序在 “意外”面前更可靠。

相關(guān)文章

  • Java 面向?qū)ο笾^承篇詳解原理與特點(diǎn)

    Java 面向?qū)ο笾^承篇詳解原理與特點(diǎn)

    繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。繼承就是子類繼承父類的特征和行為,使得子類對象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為
    2021-10-10
  • SSH結(jié)合jquery實(shí)現(xiàn)三級聯(lián)動效果

    SSH結(jié)合jquery實(shí)現(xiàn)三級聯(lián)動效果

    這篇文章主要為大家詳細(xì)介紹了SSH結(jié)合jquery實(shí)現(xiàn)三級聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Kafka日志清理實(shí)現(xiàn)詳細(xì)過程講解

    Kafka日志清理實(shí)現(xiàn)詳細(xì)過程講解

    這篇文章主要為大家介紹了Kafka日志清理實(shí)現(xiàn)詳細(xì)過程講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • jvm類加載器基礎(chǔ)解析

    jvm類加載器基礎(chǔ)解析

    這篇文章主要介紹了jvm類加載器基礎(chǔ)解析,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • java 中RSA的方式實(shí)現(xiàn)非對稱加密的實(shí)例

    java 中RSA的方式實(shí)現(xiàn)非對稱加密的實(shí)例

    這篇文章主要介紹了java 中RSA的方式實(shí)現(xiàn)非對稱加密的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分知識,需要的朋友可以參考下
    2017-08-08
  • 盤點(diǎn)幾種常見的java排序算法

    盤點(diǎn)幾種常見的java排序算法

    所謂排序就是使一串記錄,按照其中的某個或某些關(guān)鍵字的大小,遞增或遞減的排列起來的操作,下面這篇文章主要給大家介紹了幾種常見的java排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 徹底解決Spring MVC中文亂碼問題的方案

    徹底解決Spring MVC中文亂碼問題的方案

    這篇文章主要介紹了徹底解決Spring MVC中文亂碼問題的方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • springboot ehcache 配置使用方法代碼詳解

    springboot ehcache 配置使用方法代碼詳解

    EhCache是一個比較成熟的Java緩存框架,Springboot對ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也簡易,今天給大家分享springboot ehcache 配置使用教程,一起看看吧
    2021-06-06
  • Java圖文驗證碼實(shí)現(xiàn)步驟超詳細(xì)講解

    Java圖文驗證碼實(shí)現(xiàn)步驟超詳細(xì)講解

    隨著人工智能的發(fā)展,圖文驗證碼可能逐漸被更為高級的驗證方式所替代,這篇文章主要介紹了Java圖文驗證碼實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • Java類成員訪問權(quán)限控制知識總結(jié)

    Java類成員訪問權(quán)限控制知識總結(jié)

    這篇文章主要介紹了Java類成員訪問權(quán)限控制知識總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04

最新評論

杨浦区| 乡宁县| 漠河县| 彩票| 哈密市| 盱眙县| 布拖县| 蕉岭县| 江源县| 交口县| 类乌齐县| 沙洋县| 华安县| 平定县| 白水县| 晴隆县| 宁都县| 太谷县| 民乐县| 开封市| 漳浦县| 策勒县| 江山市| 左贡县| 东兴市| 定兴县| 弋阳县| 准格尔旗| 玛沁县| 旺苍县| 涿州市| 奉化市| 城口县| 磐石市| 徐闻县| 华亭县| 赞皇县| 义马市| 贵州省| 肃北| 宁阳县|