国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java異常基礎知識解析

Java異常基礎知識解析

2021-03-11 14:17Terence_Jing Java教程

這篇文章主要介紹了Java異常基礎知識解析,具有一定借鑒價值,需要的朋友可以資參考下。

Java程序運行的非正常現象叫做運行錯誤,根據其性質可分為兩類:錯誤(Error)和異常(Exception); 他們有一個共同的父類(也是所有異常的頂級父類):Throwable。

異常類結構

Java異常基礎知識解析

Error

Error(錯誤)由JVM生成并拋棄不做處理;此類錯誤通常與代碼和執行的操作無關,是虛擬機中出現了比較嚴重的問題,程序本身無法解決(常見的錯誤有死循環、內存泄漏等)。

一個常見的錯誤為Java虛擬機錯誤(VirtualMachineError),當JVM不再有繼續執行操作所需的內存資源時,將出現OutOfMemoryError。這些異常發生時,Java虛擬機(JVM)一般會選擇線程終止。

Exception

Exception(異常)作為一個對象使用,由Java程序拋棄或處理;通常異常產生的原因有:代碼或調用代碼有錯,操作系統資源不可用,公共語言運行庫遇到意外;

異常分為由虛擬機生成的運行時異常(RuntimeException,如空指針、數組越界)和程序意外造成的非運行時異常(如IOException);

運行時異常:程序可以選擇捕獲處理或不處理直接拋掉;常見的運行時異常有算法溢出(超出數值表達范圍)、除數為零、內存溢出、空指針、無效參數等,此類異常是程序本身編程出錯,可以通過調整異常代碼運行方向,使程序繼續運行,直至正常結束;

非運行時異常:RuntimeException類型意外的異常都叫做非運行時異常,從程序語法角度講是必須進行處理的異常,如果不處理,程序就不能編譯通過;常見的非運行異常有IOException,例如:資源文件找不到等,是程序碰到意外情況無法執行成功。

注意:異常和錯誤的區別---異常能被程序本身可以處理,錯誤是無法處理。

可查異常和不可查異常

Java異常(ErrorandException)根據程序是否能夠編譯通過可以分為另外兩類:可查異常(checkedexceptions)和不可查異常(uncheckedexceptions)。

可查異常

可查異常:對應非運行時異常,編譯器編譯程序時可以檢查預計到其中的錯誤,這種異常必須處理,兩種處理方式:try-catch語句捕獲異常或throws子句聲明拋出異常,在方法體外頭部聲明拋出異常類型(使用throws拋出Exception),調用者可選擇處理接收到的異常。

說到這兩種處理方式,要說到Java異常處理的5個關鍵字:try、catch、finally、throws、throw

1、使用try-catch語句處理捕捉(方法頭部不用聲明)

try、catch、finally三個語句塊不能單獨出現,三者可以組合為:try-catch/try-catch-finally/try-finally。

catch塊可以有多個,此時只能從上到下匹配其中一個catch塊代碼;

finally最多一個,三個語句塊中定義的變量不可相互訪問。

在該部分中,使用的是try-catch組合來處理可查異常,將異常向上拋出,實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public XMLReaderHDU(String xmlFile){
    super();
    this.xmlFile = xmlFile;
    this.fileName=StaticConfig.umlPathPrefixHDU;
    try
       {
        SAXReader reader=new SAXReader();
        Document dom=reader.read(xmlFile);
        root=dom.getRootElement();
    }
    catch(Exception e1)
       {
        Handle1……
    }
    catch(Exception e2)
       {
        Handle1……
    }
}

2、使用throws子句聲明拋出(在方法體外頭部聲明拋出異常類型:使用throws拋出Exception)

首先,在方法體內部使用throw拋出異常;

然后,在方法體外頭部聲明,使用throws拋出內部拋上來的異常;

示例1:try-catch拋出異常

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public XMLReaderHDU(String xmlFile) throws Exception {
    super();
    this.xmlFile = xmlFile;
    this.fileName=StaticConfig.umlPathPrefixHDU;
    try
       {
        SAXReader reader=new SAXReader();
        Document dom=reader.read(xmlFile);
        root=dom.getRootElement();
    }
    catch(Exception e1)
       {
        throw new Exception(e1);
    }
}

示例2:throw-throws 自定義異常

?
1
2
3
4
5
6
7
8
9
10
private List<UseCase> readUCInformation() throws Exception {
    if(e1.hasContent())
       {
        if(e1.element("name").getText().equals("preCondition")){
            uc.setPreCondition(e1.elementText("content"));
        } else{
            throw new Exception("用例約束條件獲取異常,可能原因:約束類型或約束名稱錯誤");
        }
    }
}

不可查異常

不可查異常:包括錯誤Error和運行時異常RuntimeException

運行時異常在程序編譯時可以通過,不能通過靜態語法檢測出來哪些函數可能拋出異常,在運行時才能發現異常(即取決于運行時狀態,被運行態決定);

可以選擇捕獲處理或顯示的拋除不處理(mustbecaughtordeclearedtobethrown)。這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度盡可能避免這類異常的發生。

總結

以上就是本文關于Java異常基礎知識解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/csdn_terence/article/details/76222772

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 高清一区二区 | 中文字幕一区二区三区四区 | 久久精品国产亚洲一区二区三区 | 久久麻豆 | 青娱乐一区 | 久久小视频 | 欧美精品自拍 | 综合久久精品 | 中文字幕一区二区三区乱码图片 | 色狠狠综合天天综合综合 | 国产一区二区视频精品 | 精品无码久久久久久久动漫 | av免费网站 | 国产婷婷精品 | 久草.com| 国产精品一区二区在线观看 | 欧美天堂一区二区三区 | 亚洲第一av | 91五月天 | 久久国产精品久久 | 久久久久黄 | 成年女人在线观看 | 一区二区在线 | 亚洲电影二区 | 中文字幕在线观看视频地址二 | 91久久夜色精品国产网站 | 韩国理论电影在线 | 欧美中文一区二区三区 | 色天堂影院 | 日本激情网 | 91综合网| 欧美精品一级二级 | 色欧美片视频在线观看 | 日韩精品免费在线视频 | 成人午夜 | 午夜国产 | 国产精品99久久久久久久女警 | 国产中文字幕一区 | 一区二区视频 | 亚洲综合在线视频 | 成人久久久精品乱码一区二区三区 |