Java面向?qū)ο笾裁词钱惓?/h1>
更新時間:2021年07月27日 09:59:40 作者:乾坤大那挪
Java 把異常當(dāng)作對象來處理,并定義一個基類,java.lang.Throwable 作為所有異常的超類。今天通過本文給大家分享Java面向?qū)ο笾裁词钱惓?,感興趣的朋友一起看看吧
基礎(chǔ)概念
?。?)異常:Java程序在運行時期發(fā)生的不正常情況。
Java就按照面向?qū)ο蟮乃枷雽Σ徽G闆r進行描述和對象的封裝。
?。?)異常問題分類: (Throwable:定義對于問題共性的功能。)
1.Error:由系統(tǒng)底層發(fā)生的,jvn告訴使用者。不做針對性處理,直接修改代碼。
2.Exception:發(fā)生并告訴使用者,可以進行針對性的處理。
(3)異常的處理情況:
1.遇到問題不進行具體的處理,繼續(xù)拋給調(diào)用者。就是在函數(shù)上通過throws關(guān)鍵字聲明異常。目的是讓調(diào)用者可以進行處理。
2.針對性的處理方式:捕獲!
try
{
//有可能發(fā)生異常的代碼。
}
catch(異常類 變量)
{
//這是真正的捕獲,處理異常的代碼;
}
finally
{
//一定會被執(zhí)行的代碼。
}
一、什么是異常
- 實際工作中,遇到的情況下不可能是非常完美的。比如:你寫的某個模塊,用戶輸入不一定符合你的要求、你的程序要打開某個文件,這個文件可能不存在或者格式不對,你要讀取數(shù)據(jù)庫的數(shù)據(jù),數(shù)據(jù)庫可能是空的等。程序在跑的時候,內(nèi)存或硬盤滿了等情況,就是異常了。
- 軟件在運行過程中,非??赡苡龅絼倓偺岬降倪@些異常問題,我們叫異常,英文是:Exception,意思是例外。這些例外情況,或者叫異常,怎么讓我們的程序做出合理的處理。而不至于程序崩潰。
- 異常值程序運行中出現(xiàn)的不期而至的各種狀況,如:文件找不到、網(wǎng)絡(luò)連接失敗、非法參數(shù)等。
- 異常發(fā)生在程序運行期間,它影響了正常的程序執(zhí)行流程。
二、簡單分類
- 要理解Java異常處理是如何工作的,你需要掌握一下三種異常: 異常處理框架
- 檢查性異常:最具代表性的檢查性異常是用戶錯誤或問題引起的異常,這是程序員無法預(yù)見的。例如要打開一個文件是,一個異常就發(fā)生了,這些異常在編譯時不能唄簡單地忽略。
- 運行時異常:運行時異常是可能被程序員忽略的異常。與檢查性異常相反,運行時異??梢栽诰幾g時被避免。
- 錯誤 ERROR:錯誤不是異常,而是脫離程序員控制的問題。錯誤在代碼中通常被忽略。例如,當(dāng)棧溢出時,一個錯誤就發(fā)生了,它們在編譯時也檢查不到。
三、異常體系結(jié)構(gòu)
- Java 把異常當(dāng)作對象來處理,并定義一個基類 java.lang.Throwable 作為所有異常的超類。
- 在 Java API中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯誤 Error 和 異常 Exception。

四、Error
- Error 類對象由 Java 虛擬機生成并拋出,大多數(shù)錯誤與代碼編寫者所執(zhí)行的操作無關(guān)。
- Java 虛擬機運行錯誤(Virtual MachineError),當(dāng) JVM 不再有繼續(xù)執(zhí)行操作所需要的內(nèi)存資源時,將出現(xiàn) OutOfMemoryError。這些異常發(fā)生時,Java 虛擬機(JVM)一般會選擇線程終止。
- 還有發(fā)生在虛擬機識圖執(zhí)行應(yīng)用時,如類定義錯誤(NoClassDefFoundError)、鏈接錯誤(LinkageError)。這些錯誤是不可查的,因為它們在引用程序的控制和處理能力之外,而且絕大多數(shù)是程序運行時不允許出現(xiàn)的狀況。
五、Exception
- 在 Exception 分支中有一個重要的子類 RuntimeException(運行時異常)
ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)
NullPointerException(空指針異常)
ArithmeticException(算術(shù)異常)
MissingResourceException(丟失資源)
ClassNotFoundException(找不到類)
等異常,這些異常是不檢查異常不是檢查性異常,程序中可以選擇捕獲處理,也可以不處理。
- 這些異常一般是由程序邏輯錯誤引起的,程序應(yīng)該從邏輯角度盡量避免這類異常的發(fā)生。
- Error 和 Exception 的區(qū)別:Error 通常是災(zāi)難性的致命的錯誤,是程序無法控制和處理的,當(dāng)出現(xiàn)這些異常時,Java 虛擬機(JVM)一般會選擇終止線程; Exception 通常情況下是可以被程序處理掉額,并且在程序中應(yīng)該盡可能地去處理這些異常。
到此這篇關(guān)于Java面向?qū)ο笾裁词钱惓5奈恼戮徒榻B到這了,更多相關(guān)java面向?qū)ο螽惓?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
-
java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼
這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下 2017-02-02
-
Java Spring分別實現(xiàn)定時任務(wù)方法
這篇文章主要為大家詳細介紹了Java與Spring設(shè)置動態(tài)定時任務(wù)的方法,定時任務(wù)的應(yīng)用場景十分廣泛,如定時清理文件、定時生成報表、定時數(shù)據(jù)同步備份等 2022-07-07
-
java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢
這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧 2021-06-06
-
Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解
OpenCV用來存儲圖像,很多時候都會用到這個Mat方法。數(shù)字圖像可看做一個數(shù)值矩陣,?其中的每一個元素表明一個像素點。Mat在?OpenCV?中表示的是?N?維稠密矩陣,與稠密矩陣相對的是稀疏矩陣。本文將重點介紹OpenCV中Mat的一些基本操作,需要的可以參考一下 2022-03-03
最新評論
基礎(chǔ)概念
?。?)異常:Java程序在運行時期發(fā)生的不正常情況。
Java就按照面向?qū)ο蟮乃枷雽Σ徽G闆r進行描述和對象的封裝。
?。?)異常問題分類: (Throwable:定義對于問題共性的功能。)
1.Error:由系統(tǒng)底層發(fā)生的,jvn告訴使用者。不做針對性處理,直接修改代碼。
2.Exception:發(fā)生并告訴使用者,可以進行針對性的處理。
(3)異常的處理情況:
1.遇到問題不進行具體的處理,繼續(xù)拋給調(diào)用者。就是在函數(shù)上通過throws關(guān)鍵字聲明異常。目的是讓調(diào)用者可以進行處理。
2.針對性的處理方式:捕獲!
try { //有可能發(fā)生異常的代碼。 } catch(異常類 變量) { //這是真正的捕獲,處理異常的代碼; } finally { //一定會被執(zhí)行的代碼。 }
一、什么是異常
- 實際工作中,遇到的情況下不可能是非常完美的。比如:你寫的某個模塊,用戶輸入不一定符合你的要求、你的程序要打開某個文件,這個文件可能不存在或者格式不對,你要讀取數(shù)據(jù)庫的數(shù)據(jù),數(shù)據(jù)庫可能是空的等。程序在跑的時候,內(nèi)存或硬盤滿了等情況,就是異常了。
- 軟件在運行過程中,非??赡苡龅絼倓偺岬降倪@些異常問題,我們叫異常,英文是:Exception,意思是例外。這些例外情況,或者叫異常,怎么讓我們的程序做出合理的處理。而不至于程序崩潰。
- 異常值程序運行中出現(xiàn)的不期而至的各種狀況,如:文件找不到、網(wǎng)絡(luò)連接失敗、非法參數(shù)等。
- 異常發(fā)生在程序運行期間,它影響了正常的程序執(zhí)行流程。
二、簡單分類
- 要理解Java異常處理是如何工作的,你需要掌握一下三種異常: 異常處理框架
- 檢查性異常:最具代表性的檢查性異常是用戶錯誤或問題引起的異常,這是程序員無法預(yù)見的。例如要打開一個文件是,一個異常就發(fā)生了,這些異常在編譯時不能唄簡單地忽略。
- 運行時異常:運行時異常是可能被程序員忽略的異常。與檢查性異常相反,運行時異??梢栽诰幾g時被避免。
- 錯誤 ERROR:錯誤不是異常,而是脫離程序員控制的問題。錯誤在代碼中通常被忽略。例如,當(dāng)棧溢出時,一個錯誤就發(fā)生了,它們在編譯時也檢查不到。
三、異常體系結(jié)構(gòu)
- Java 把異常當(dāng)作對象來處理,并定義一個基類 java.lang.Throwable 作為所有異常的超類。
- 在 Java API中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯誤 Error 和 異常 Exception。
四、Error
- Error 類對象由 Java 虛擬機生成并拋出,大多數(shù)錯誤與代碼編寫者所執(zhí)行的操作無關(guān)。
- Java 虛擬機運行錯誤(Virtual MachineError),當(dāng) JVM 不再有繼續(xù)執(zhí)行操作所需要的內(nèi)存資源時,將出現(xiàn) OutOfMemoryError。這些異常發(fā)生時,Java 虛擬機(JVM)一般會選擇線程終止。
- 還有發(fā)生在虛擬機識圖執(zhí)行應(yīng)用時,如類定義錯誤(NoClassDefFoundError)、鏈接錯誤(LinkageError)。這些錯誤是不可查的,因為它們在引用程序的控制和處理能力之外,而且絕大多數(shù)是程序運行時不允許出現(xiàn)的狀況。
五、Exception
- 在 Exception 分支中有一個重要的子類 RuntimeException(運行時異常)
ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)
NullPointerException(空指針異常)
ArithmeticException(算術(shù)異常)
MissingResourceException(丟失資源)
ClassNotFoundException(找不到類)
等異常,這些異常是不檢查異常不是檢查性異常,程序中可以選擇捕獲處理,也可以不處理。
- 這些異常一般是由程序邏輯錯誤引起的,程序應(yīng)該從邏輯角度盡量避免這類異常的發(fā)生。
- Error 和 Exception 的區(qū)別:Error 通常是災(zāi)難性的致命的錯誤,是程序無法控制和處理的,當(dāng)出現(xiàn)這些異常時,Java 虛擬機(JVM)一般會選擇終止線程; Exception 通常情況下是可以被程序處理掉額,并且在程序中應(yīng)該盡可能地去處理這些異常。
到此這篇關(guān)于Java面向?qū)ο笾裁词钱惓5奈恼戮徒榻B到這了,更多相關(guān)java面向?qū)ο螽惓?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼
這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Java Spring分別實現(xiàn)定時任務(wù)方法
這篇文章主要為大家詳細介紹了Java與Spring設(shè)置動態(tài)定時任務(wù)的方法,定時任務(wù)的應(yīng)用場景十分廣泛,如定時清理文件、定時生成報表、定時數(shù)據(jù)同步備份等2022-07-07java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢
這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2021-06-06Java?OpenCV學(xué)習(xí)之Mat的基本操作詳解
OpenCV用來存儲圖像,很多時候都會用到這個Mat方法。數(shù)字圖像可看做一個數(shù)值矩陣,?其中的每一個元素表明一個像素點。Mat在?OpenCV?中表示的是?N?維稠密矩陣,與稠密矩陣相對的是稀疏矩陣。本文將重點介紹OpenCV中Mat的一些基本操作,需要的可以參考一下2022-03-03