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

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

 更新時間:2019年01月27日 11:01:38   投稿:laozhang  
在本篇文章里小編給大家分享了關(guān)于Java的異常類型的相關(guān)知識點內(nèi)容,有需要的朋友們跟著學習下。

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

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

The Checked Exception(檢查異常)

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

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

public FileReader(String fileName)
throws FileNotFoundException

如您所見,構(gòu)造函數(shù)明確聲明FileReader構(gòu)造函數(shù)可以拋出FileNotFoundException。這是有意義的,因為文件名字符串很可能會不時出錯。請看下面的代碼:

public static void main(String[] args){
FileReader fileInput = null;
//打開輸入文件
fileInput = new FileReader("Untitled.txt");
}

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

public static void main(String[] args) throws FileNotFoundException{
FileReader fileInput = null;
//打開輸入文件
fileInput = new FileReader("Untitled.txt");
}

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

public static void main(String[] args){
FileReader fileInput = null;
try
{
//打開輸入文件
fileInput = new FileReader("Untitled.txt");
}
catch(FileNotFoundException ex)
{
//告訴用戶去找文件
}
}

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

Errors(錯誤)

第二種異常稱為錯誤。當異常發(fā)生時,JVM將創(chuàng)建一個異常對象。這些對象都派生自可拋出類??蓲伋鲱愑袃蓚€主要子類——錯誤和異常。Error類表示應(yīng)用程序不太可能處理的異常。

這些例外被認為是罕見的。例如,JVM可能會因為硬件無法處理它必須處理的所有進程而耗盡資源。應(yīng)用程序可以捕獲錯誤并通知用戶,但通常應(yīng)用程序必須關(guān)閉,直到底層問題得到處理。

Runtime Exceptions(運行時異常)

發(fā)生運行時異常僅僅是因為程序員犯了錯誤。你已經(jīng)寫好了代碼,編譯器會覺得一切都很好當你運行代碼時,它會崩潰,因為它試圖訪問一個不存在的數(shù)組元素或者一個邏輯錯誤導致一個方法被調(diào)用為空值。或者程序員可能犯的任何數(shù)量的錯誤。但是沒關(guān)系,我們通過詳盡的測試來發(fā)現(xiàn)這些異常,對吧?

錯誤和運行時異常屬于未檢查異常的類別。

相關(guān)文章

最新評論

广南县| 安吉县| 鸡东县| 镇雄县| 古丈县| 邯郸县| 巴南区| 湘潭市| 曲麻莱县| 军事| 攀枝花市| 松阳县| 重庆市| 海原县| 永兴县| 日喀则市| 襄城县| 乐业县| 贵港市| 梅州市| 平顶山市| 仲巴县| 芮城县| 通河县| 乐清市| 樟树市| 息烽县| 彭山县| 奉化市| 平定县| 仪陇县| 梨树县| 湾仔区| 太和县| 玉田县| 十堰市| 宝山区| 内江市| 嘉义县| 厦门市| 化州市|