国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java異常(1)

2019-11-14 21:54:48
字體:
來源:轉載
供稿:網友
java異常(1)一、要達到的效果如果出現錯誤而是某些操作沒有完成,程序應該:(1)返回到一種安全狀態,并能夠讓用戶執行一些其他的命令。(2)允許用戶保存所有操作的結果,并以適當的方式終止程序。異常處理的任務就是將控制權從錯誤產生的地方轉移到能夠處理這種情況的錯誤處理器二、異常分類:1、Throwable - ---------Error - - - ------- XXXX - - - ----- XXXXX ---Exception - - - - - -----IOException - - - - - ----RunTime Exception - -Error錯誤: 描述了Java運行時系統的錯誤和資源的耗盡錯誤。程序不應該拋出這種類型的對象。Runtime Exception錯誤:如果出現這種錯誤就證明是你問題,應該在編程中加以檢查避免。IOException錯誤: 程序本身沒有問題,但由于像I/O錯誤這類問題導致的異常屬于此類異常。派生于RuntimeException的異常包括:(1)錯誤類型轉換(2)數組越界訪問(3)訪問控指針不是派生于RuntimeException的異常包括:(1)試圖在文件尾部后面能讀取數據(2)試圖打開一個不存在的文件(3)試圖根據給定的字符串查找Class對象,而這個字符串表示的類并不存在。2、已檢查異常 與 未檢查異常Java語言規范將派生于Error和RuntimeException的異常稱為不被檢查異常(要運行之后才知道錯誤), 其他異常稱為被檢查異常(編譯時期就能夠檢查到錯誤)。不被檢查異常/未檢查異常 包括:(1)空指針引用(2)數組訪問越界(3)錯誤轉換類型等。被檢查異常/已檢查異常(Java的編譯器對代碼的一種檢測) 包括:(1)IOException類及其子類

三、聲明檢查時異常

public FileInputStream(String name)throws FileNotFoundException

這樣編譯器就會從其首部就可以知道這個方法將會拋出什么異常。

什么時候應該拋出異常?下面四種情況:

(1)調用一個拋出 已檢查的異常 的方法,如FileInputStream構造器(可控可處理)

(2)程序運行時發現的錯誤,并且利用throw拋出一個已檢查的異常(可控可處理)

(3)程序出現錯誤,例如a[-1]=0會拋出一個ArrayIndexOutOfBoundsException 這樣的未檢查異常(應該避免)

(4)Java虛擬機和運行時庫出現內部錯誤(未檢查異常,屬于Error異常)(預料不到)如果出現前兩種情況時,必須告訴調用這個方法的程序員有可能拋出異常。

【編者感悟】為什么要這樣設計?如果檢查時異常對(3)情況負責,那么將會出現一堆不對程序負責的代碼,而靠異常檢測對程序的運行風險承擔責任,這顯然不是Java異常設計的初衷。不對(4)情況聲明是因為這種錯誤出現的概率低,第二出現后你也降低不了它帶來的損失,只能停止程序執行。

聲明多個已檢查的異常可以如下,記得逗號隔開:

class MyAnimation

{

public Image loadingImage(String s)throws FileNotFoundException, EOFException

}

四、拋出異常

String readData(Scanner in)throwsEOFException

{

...

while(...)

{

if(!in.hasNext())

{

if(n < len)

thrownew EOFException();

}

}

}

五、捕獲異常

public void read(String file)

{

try{

InputStream in = new FileInputStream(file);

int b;

while((b = in.read()) != -1)

[

//PROCESS INPUT

}

}catch(IOException exception){

exception.printStackTrace();

}

}

編輯整理:Claruarius,轉載請注明出處。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上饶市| 格尔木市| 抚州市| 盐源县| 平凉市| 永嘉县| 江川县| 天祝| 西乌珠穆沁旗| 襄汾县| 三亚市| 清新县| 肇庆市| 安丘市| 大方县| 澄江县| 吴桥县| 乐亭县| 武汉市| 肥乡县| 泰安市| 游戏| 溆浦县| 拉萨市| 平原县| 淅川县| 浠水县| 朝阳县| 拜泉县| 庆安县| 赣州市| 龙南县| 宁河县| 娄烦县| 出国| 阿城市| 松原市| 龙口市| 从化市| 穆棱市| 出国|