自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java拾遺系列之Java基礎(chǔ)-異常

開發(fā) 前端
Java異常分為兩類,一個(gè)是錯(cuò)誤,一個(gè)異常。異常和錯(cuò)誤的區(qū)別是,異常是可以被處理的,而錯(cuò)誤是沒法處理的。所有異常的超類只有Throwable一個(gè),Throwable下分為異常(Exception)和錯(cuò)誤(Error)兩個(gè)子類。

一、概述

Java異常分為兩類,一個(gè)是錯(cuò)誤,一個(gè)異常。異常和錯(cuò)誤的區(qū)別是,異常是可以被處理的,而錯(cuò)誤是沒法處理的。所有異常的超類只有Throwable一個(gè),Throwable下分為異常(Exception)和錯(cuò)誤(Error)兩個(gè)子類。每個(gè)子類又有更具體的子類,主要目的是在拋出異常時(shí),能夠準(zhǔn)確描述出具問題。

二、錯(cuò)誤

對(duì)于所有的編譯時(shí)期的錯(cuò)誤以及系統(tǒng)錯(cuò)誤都是通過Error拋出的。這些錯(cuò)誤表示故障發(fā)生于虛擬機(jī)自身、或者發(fā)生在虛擬機(jī)試圖執(zhí)行應(yīng)用時(shí),如Java虛擬機(jī)運(yùn)行錯(cuò)誤(Virtual MachineError)、類定義錯(cuò)誤(NoClassDefFoundError)等。這些錯(cuò)誤是不可查的,因?yàn)樗鼈冊(cè)趹?yīng)用程序的控制和處理能力之 外,而且絕大多數(shù)是程序運(yùn)行時(shí)不允許出現(xiàn)的狀況。對(duì)于設(shè)計(jì)合理的應(yīng)用程序來說,即使確實(shí)發(fā)生了錯(cuò)誤,本質(zhì)上也不應(yīng)該試圖去處理它所引起的異常狀況。在 Java中,錯(cuò)誤通過Error的子類描述。

三、異常

異常是程序開發(fā)接觸最多的異常,分為IO異常和運(yùn)行時(shí)異常。比如NullPointerException、IndexOutOfBoundsException,這些異常是我們可以處理的異常。

四、自定義異常

在某些特殊場(chǎng)景,java自帶的異常,可能無法表述清晰的異常,需要我們自定義,以便其它程序能夠正確捕捉和處理異常。實(shí)現(xiàn)自定異常只需要繼承Exception類即可,如下:

public class MyException extends Exception {


//無參構(gòu)造方法
public MyException(){

super();
}

//有參的構(gòu)造方法
public MyException(String message){
super(message);

}

// 用指定的詳細(xì)信息和原因構(gòu)造一個(gè)新的異常
public MyException(String message, Throwable cause){

super(message,cause);
}

//用指定原因構(gòu)造一個(gè)新的異常
public MyException(Throwable cause) {

super(cause);
}

}

五、異常的處理

異常的處理使用try{}catch(){}fimally{}進(jìn)行,如下:

try{
// 程序代碼
}catch(異常類型1 異常的變量名1){
// 程序代碼
}catch(異常類型2 異常的變量名2){
// 程序代碼
}finally{
// 程序代碼
}

其中catch也可以一次捕捉多個(gè)異常,如下:

try{
// 程序代碼
}catch(異常類型1|異常類型2 異常的變量名1){
// 程序代碼
}finally{
// 程序代碼
}

注意最后的finally,無論實(shí)際是否出現(xiàn)異常,finally內(nèi)代碼一定會(huì)執(zhí)行。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2022-10-12 23:39:46

Java接口屬性

2024-09-23 12:35:49

2018-11-30 15:17:38

CPUCache緩存行

2010-03-30 08:36:26

Java框架StrutsSpring

2021-03-19 16:05:33

CSS CSS 屬性CSS 基礎(chǔ)

2021-12-14 07:40:07

C# 異步流結(jié)合體

2021-06-25 10:18:08

JavaScript Array.map 巧技拾遺

2021-03-18 10:01:06

Java編譯異常運(yùn)行異常

2021-02-25 08:40:19

Java異常分類異常防護(hù)

2021-02-22 08:39:03

Java關(guān)鍵字Java基礎(chǔ)

2016-07-29 10:37:00

互聯(lián)網(wǎng)httphtml

2011-07-04 16:04:20

Applet

2011-07-05 14:42:46

java

2011-03-28 09:17:14

Java 7mutilcatch

2011-07-22 17:14:53

java

2021-07-08 11:22:55

Java異常處理

2022-10-21 14:12:06

2021-03-02 12:36:49

MQKafkaRocketMQ

2011-07-19 09:38:41

一維數(shù)組Junit靜態(tài)成員

2016-09-23 10:34:32

JUnitGradleAgile
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)