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

Java異常怎么處理?新手必看的異常體系結(jié)構(gòu)和捕獲方法

 更新時間:2026年07月29日 09:02:36   作者:從零開始Rem  
還在為Java程序莫名崩潰煩惱?本文用大白話講解異常處理,帶你分清檢查性異常、運行時異常和Error的區(qū)別,掌握異常體系結(jié)構(gòu),讓你的代碼更健壯,輕松應對文件找不到、網(wǎng)絡失敗等問題

什么是異常

  • 實際工作中,遇到的情況不可能是非常完美的。比如:你寫的某個模塊,用戶輸入不一定符合.你的要求、你的程序要打開某個文件,這個文件可能不存在或者文件格式不對,你要讀取庫的數(shù)據(jù),數(shù)據(jù)可能是空的等。我們的程序再跑著,內(nèi)存或硬盤可能滿了。等等。
  • 軟件程序在運行過程中,非??赡苡龅絼倓偺岬降倪@些異常問題,我們叫異常,英文是:Exception,意思是例外。這些,例外情況,或者叫異常,怎么讓我們寫的程序做出合理的處理。而不至于程序崩潰。
  • 異常指程序運行中出現(xiàn)的不期而至的各種狀況,如:文件找不到、網(wǎng)絡連接失敗、非法參數(shù)等。 異常發(fā)生在程序運行期間,它影響了正常的程序執(zhí)行流程。

簡單分類

  • 要理解Java異常處理是如何工作的,你需要掌握以下三種類型的異常:
  • 檢查性異常:最具代表的檢查性異常是用戶錯誤或問題引起的異常,這是程序員無法預見的。例如要打開一個不存在文件時,一個異常就發(fā)生了,這些異常在編譯時不能被簡單地忽略。
  • 運行時異常:運行時異常是可能被程序員避免的異常。與檢查性異常相反,運行時異常可以在編譯時被忽略。
  • 錯誤Error:錯誤不是異常,而是脫離程序員控制的問題。錯誤在代碼中通常被忽略。例如,當棧溢出時,一個錯誤就發(fā)生了,它們在編譯也檢查不到的

異常體系結(jié)構(gòu)

Java把異常當作對象來處理,并定義一個基類java.lang.Throwable作為所有異常的超類

在Java API中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯誤Error和異常Exception。

Error

Error類對象由 Java 虛擬機生成并拋出,大多數(shù)錯誤與代碼編寫者所執(zhí)行的操作無關。

Java虛擬機運行錯誤(VirtualMachineError),當JVM不再有繼續(xù)執(zhí)行操作所需的內(nèi)存資源時,將出現(xiàn)OutOfMemoryError。這些異常發(fā)生時,Java虛擬機(JVM)一般會選擇線程終止;

還有發(fā)生在虛擬機試圖執(zhí)行應用時,如類定義錯誤(NoClassDefFoundError)、鏈接錯誤(LinkageError)。

這些錯誤是不可查的,因為它們在應用程序的控制和處理能力之外,而且絕大多數(shù)是程序運行時不允許出現(xiàn)的狀況。

Exception

在Exception分支中有一個重要的子類RuntimeException(運行時異常)其中有:

1.ArrayIndexOutOfBoundsException(數(shù)組下標越界)

2.NullPointerException(空指針異常)

3.ArithmeticException(算術(shù)異常)

4.MissingResourceException(丟失資源)

5.ClassNotFoundException(找不到類) 等異常,這些異常是不檢查異常,程序中可以選擇捕獲處理,也可以不處理。

這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度盡可能避免這類異常的發(fā)生。

Error和Exception的區(qū)別:Error通常是災難性的致命的錯誤,是程序無法控制和處理的,當出現(xiàn)這些異常時,Java虛擬機(JVM)一般會選擇終止線程:Exception通常情況下是可以被程序處理的,并且在程序中應該盡可能的去處理這些異常。

總結(jié)

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

相關文章

最新評論

宜阳县| 双城市| 黄平县| 兴安县| 仁怀市| 油尖旺区| 青阳县| 珲春市| 黑山县| 沙湾县| 澳门| 高邮市| 潢川县| 凉城县| 革吉县| 大余县| 如东县| 靖州| 苗栗市| 荣昌县| 原平市| 会理县| 阿拉善盟| 新巴尔虎右旗| 南陵县| 林周县| 包头市| 荣成市| 柳林县| 潍坊市| 遂宁市| 宜都市| 阿瓦提县| 那曲县| 苏尼特右旗| 姚安县| 海林市| 杭州市| 隆昌县| 沙河市| 兴安盟|