一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語(yǔ)言|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java的異常類型總結(jié)

Java的異常類型總結(jié)

2021-07-12 15:17Java之家 Java教程

在本篇文章里小編給大家分享了關(guān)于Java的異常類型的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。

java的設(shè)計(jì)目的是讓程序員有機(jī)會(huì)設(shè)計(jì)一個(gè)沒(méi)有錯(cuò)誤的應(yīng)用程序。當(dāng)應(yīng)用程序與資源或用戶交互時(shí),程序員可能會(huì)知道一些異常,這些異常是可以處理的。不幸的是,也有程序員無(wú)法控制或簡(jiǎn)單忽略的例外情況。簡(jiǎn)而言之,并不是所有的異常都是相同的,因此程序員需要考慮幾種類型。

異常是導(dǎo)致程序無(wú)法在其預(yù)期的執(zhí)行中運(yùn)行的事件。異常有三種類型——檢查異常、錯(cuò)誤和運(yùn)行時(shí)異常。

the checked exception(檢查異常)

已檢查異常是java應(yīng)用程序應(yīng)該能夠處理的異常。例如,如果應(yīng)用程序從文件中讀取數(shù)據(jù),它應(yīng)該能夠處理filenotfoundexception。畢竟,無(wú)法保證預(yù)期的文件會(huì)出現(xiàn)在它應(yīng)該出現(xiàn)的位置。文件系統(tǒng)上可能發(fā)生任何事情,應(yīng)用程序?qū)Υ艘粺o(wú)所知。

讓我們進(jìn)一步看看這個(gè)例子。假設(shè)我們使用filereader類來(lái)讀取字符文件。如果你看一看java api中的filereader構(gòu)造函數(shù)定義,你會(huì)發(fā)現(xiàn)它的方法簽名:

?
1
2
public filereader(string filename)
throws filenotfoundexception

如您所見(jiàn),構(gòu)造函數(shù)明確聲明filereader構(gòu)造函數(shù)可以拋出filenotfoundexception。這是有意義的,因?yàn)槲募址芸赡軙?huì)不時(shí)出錯(cuò)。請(qǐng)看下面的代碼:

?
1
2
3
4
5
public static void main(string[] args){
filereader fileinput = null;
//打開(kāi)輸入文件
fileinput = new filereader("untitled.txt");
}

從語(yǔ)法上來(lái)說(shuō),這些語(yǔ)句是正確的,但是這些代碼永遠(yuǎn)不會(huì)編譯。編譯器知道filereader構(gòu)造函數(shù)可以拋出filenotfoundexception,而處理此異常則取決于調(diào)用代碼。有兩個(gè)選擇-首先,我們可以通過(guò)指定一個(gè)throw子句來(lái)傳遞異常:

?
1
2
3
4
5
public static void main(string[] args) throws filenotfoundexception{
filereader fileinput = null;
//打開(kāi)輸入文件
fileinput = new filereader("untitled.txt");
}

或者我們可以處理例外情況:

?
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(string[] args){
filereader fileinput = null;
try
{
//打開(kāi)輸入文件
fileinput = new filereader("untitled.txt");
}
catch(filenotfoundexception ex)
{
//告訴用戶去找文件
}
}

編寫良好的java應(yīng)用程序應(yīng)該能夠處理檢查過(guò)的異常。

errors(錯(cuò)誤)

第二種異常稱為錯(cuò)誤。當(dāng)異常發(fā)生時(shí),jvm將創(chuàng)建一個(gè)異常對(duì)象。這些對(duì)象都派生自可拋出類。可拋出類有兩個(gè)主要子類——錯(cuò)誤和異常。error類表示應(yīng)用程序不太可能處理的異常。

這些例外被認(rèn)為是罕見(jiàn)的。例如,jvm可能會(huì)因?yàn)橛布o(wú)法處理它必須處理的所有進(jìn)程而耗盡資源。應(yīng)用程序可以捕獲錯(cuò)誤并通知用戶,但通常應(yīng)用程序必須關(guān)閉,直到底層問(wèn)題得到處理。

runtime exceptions(運(yùn)行時(shí)異常)

發(fā)生運(yùn)行時(shí)異常僅僅是因?yàn)槌绦騿T犯了錯(cuò)誤。你已經(jīng)寫好了代碼,編譯器會(huì)覺(jué)得一切都很好當(dāng)你運(yùn)行代碼時(shí),它會(huì)崩潰,因?yàn)樗噲D訪問(wèn)一個(gè)不存在的數(shù)組元素或者一個(gè)邏輯錯(cuò)誤導(dǎo)致一個(gè)方法被調(diào)用為空值?;蛘叱绦騿T可能犯的任何數(shù)量的錯(cuò)誤。但是沒(méi)關(guān)系,我們通過(guò)詳盡的測(cè)試來(lái)發(fā)現(xiàn)這些異常,對(duì)吧?

錯(cuò)誤和運(yùn)行時(shí)異常屬于未檢查異常的類別。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一本二本三区免费 | 国产精品亚洲综合第一区 | 国产一区二区在线观看视频 | 精品国产成人a区在线观看 精品国产91久久久久久久 | 99热精品在线观看 | 1024国产基地永久免费 | 成人资源影音先锋久久资源网 | 亚洲午夜久久久 | 亚洲29p| 青久草视频 | 久久精品成人免费网站 | 熟睡中的麻麻大白屁股小说 | 香蕉国产人午夜视频在线观看 | 香蕉国产精品偷在线播放 | 精品国产一区二区三区久久久狼 | 天海翼黄色三级 | 亚洲成人网页 | 免费在线观看亚洲 | 欧美一区二区三区在线观看免费 | 韩国www | 亚洲成人77777 | 2018成年动漫在线观看 | 免费特黄一级欧美大片在线看 | 好大好硬好深好爽gif图 | 欧美最猛性xxxxx男男 | 欧美一级乱妇老太婆特黄 | 国产精品www | 精品区卡一卡2卡三免费 | 人人斗地主 | 欧美影院一区二区三区 | 好姑娘完整版在线观看中文 | 亚洲六月丁香婷婷综合 | 日韩在线免费播放 | 欧美性黑人巨大gaysex | 无删减影视免费观看 | 97久久精品午夜一区二区 | 免费大片a一级一级 | 久久久久久久尹人综合网亚洲 | 国产美女久久久久 | 不良研究所地址一 | 香蕉国产成版人视频在线观看 |