freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計(jì)之網(wǎng)絡(luò)編程java標(biāo)準(zhǔn)類(lèi)庫(kù)、java異常處理ppt-資料下載頁(yè)

2024-10-16 23:39本頁(yè)面
  

【正文】 異常NoClassDefFoundException aClass aa=new aClas()。 //但 aClass類(lèi)未定義。 (9) 空指針異常 NullPointerException int b[ ]。 b[0]=99。 //沒(méi)有實(shí)例化,就訪問(wèn),將產(chǎn)生空指針。 異常類(lèi)的類(lèi)層次 常見(jiàn)的非運(yùn)行時(shí)異常如下: (1) ClassNotFoundException :找不到類(lèi)或接口所產(chǎn)生的異常 (2) CloneNotSupportedException:使用對(duì)象的 clone 方法但無(wú)法執(zhí)行 Cloneable 所產(chǎn)生的異常。 (3) IllegalAccessException :類(lèi)定義不明確所產(chǎn)生的異常。例如:類(lèi)不為 public ,或是包含一個(gè)類(lèi)定義在另一個(gè)類(lèi)庫(kù)內(nèi)。 (4) IOException :在一般情況下不能完成 I/O操作所產(chǎn)生的異常。 (5) EOFException: 打開(kāi)文件沒(méi)有數(shù)據(jù)可以讀取所產(chǎn)生的異常 (6) FileNotFoundException :在文件系統(tǒng)中,找不到文件名稱(chēng)或路徑所產(chǎn)生 (7) InterruptedIOException:目前線(xiàn)程等待執(zhí)行,另一線(xiàn)程中斷目前線(xiàn)程 I/O運(yùn)行所產(chǎn)生的異常 在 Sun公司提供的各種 API包中,如 ,,都提供不同情況下可能產(chǎn)生的異常。由于異常的種類(lèi)非常多,需要讀者實(shí)際運(yùn)用中逐漸掌握。 Throwable類(lèi)的常用方法 Error類(lèi)和 Exception類(lèi)的父類(lèi),常用的方法有 fillInStackTrace() 、 getLocalizedMessage() 、 getMessage() 、 printStackTrace()、printStackTrace(PrintStream) 、 printStackTrace(PrintWriter) 、 toString()。 (1) public native Throwable fillInStackTrace() 填寫(xiě)執(zhí)行堆棧跟蹤信息。 該方法在應(yīng)用程序重新拋出錯(cuò)誤或異常時(shí)有用。例如: try { a = b / c。 } catch(ArithmeticThrowable e) { a = 。 throw ()。 } (2) public String getLocalizedMessage() 生成該 Throwable 的本地化描述。 子類(lèi)可能會(huì)覆蓋該方法以便產(chǎn)生一個(gè)特定于本地的消息。 對(duì)于未覆蓋該方法的子類(lèi),缺省地返回調(diào)用 getMessage() 的結(jié)果。 Throwable類(lèi)的常用方法 (3) public String getMessage() 返回該 throwable 對(duì)象的詳細(xì)信息。如果該對(duì)象沒(méi)有詳細(xì)信息則返回 null。 (4) public void printStackTrace() 把該 Throwable 和它的跟蹤情況打印到標(biāo)準(zhǔn)錯(cuò)誤流。 (5) public void printStackTrace(PrintStream s) 把該 Throwable 和它的跟蹤情況打印到指定打印流。 (6) public void printStackTrace(PrintWriter s) 把該 Throwable 和它的跟蹤情況打印到指定打印流。 (7) public String toString() 返回該 throwable 對(duì)象的簡(jiǎn)短字符串描述。 第 8章 Java異常處理 什么是異常 創(chuàng)建用戶(hù)異常類(lèi) 異常的處理 捕獲異常 trycatchfinally 聲明拋棄異常 拋出異常 捕獲異常 trycatchfinally 一個(gè)方法中如果對(duì)某種類(lèi)型的異常對(duì)象提供了相應(yīng)的處理代碼,則這個(gè)方法可捕獲該種異常。捕獲異常是通過(guò) trycatchfinally語(yǔ)句實(shí)現(xiàn)的。其語(yǔ)法為: try{ ...... }catch( ExceptionName1 e ){ ...... }catch( ExceptionName2 e ){ ...... } ...... }finally{ ...... } try 捕獲異常的第一步是用 try{… }選定捕獲異常的范圍,由 try所限定的代碼塊中的語(yǔ)句在執(zhí)行過(guò)程中可能會(huì)生成異常對(duì)象并拋棄。 捕獲異常 trycatchfinally catch 每個(gè) try代碼塊可以伴隨一個(gè)或多個(gè) catch語(yǔ)句,用于處理 try代碼塊中所生成的異常事件。 catch語(yǔ)句只需要一個(gè)形式參數(shù)來(lái)指明它所能夠捕獲的異常類(lèi)型 ,這個(gè)類(lèi)必須是 Throwable的子類(lèi) ,運(yùn)行時(shí)系統(tǒng)通過(guò)參數(shù)值把被拋棄的異常對(duì)象傳遞給 catch塊。 catch塊中的代碼用來(lái)對(duì)異常對(duì)象進(jìn)行處理,與訪問(wèn)其它對(duì)象一樣,可以訪問(wèn)一個(gè)異常對(duì)象的變量或調(diào)用它的方法。 getMessage( )是類(lèi) Throwable所提供的方法,用來(lái)得到有關(guān)異常事件的信息,類(lèi) Throwable還提供了方法printStackTrace( )用來(lái)跟蹤異常事件發(fā)生時(shí)執(zhí)行堆棧的內(nèi)容。例如: try{ ...... }catch( FileNotFoundException e ){ ( e )。 ( message: +() )。 ( )。 }catch( IOException e ){ ( e )。 } 捕獲異常 trycatchfinally catch 語(yǔ)句的順序 捕獲異常的順序和 catch語(yǔ)句的順序有關(guān),當(dāng)捕獲到一個(gè)異常時(shí),剩下的catch語(yǔ)句就不再進(jìn)行匹配。因此,在安排 catch語(yǔ)句的順序時(shí),首先應(yīng)該捕獲最特殊的異常,然后再逐漸一般化。也就是一般先安排子類(lèi),再安排父類(lèi)。例如上面的程序如果安排成如下的形式: try{ ...... }catch(IOException e ){ ( e )。 ( message: +() )。 ( )。 }catch(FileNotFoundException e ){ ( e )。 } 由于第一個(gè) catch語(yǔ)句首先得到匹配,第二個(gè) catch語(yǔ)句將不會(huì)被執(zhí)行。編譯時(shí)將出現(xiàn) “ catch not reached”的錯(cuò)誤。 捕獲異常 trycatchfinally finally 捕獲異常的最后一步是通過(guò) finally語(yǔ)句為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流轉(zhuǎn)到程序的其它部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。一般是用來(lái)關(guān)閉文件或釋放其他的系統(tǒng)資源。雖然 finally作為 trycatchfinally結(jié)構(gòu)的一部分,但在程序是可選的,也就是說(shuō)可以沒(méi)有 finally語(yǔ)句。如果存在finally語(yǔ)句,不論 try塊中是否發(fā)生了異常,是否執(zhí)行過(guò) catch 語(yǔ)句,都要執(zhí)行finally語(yǔ)句。 另外, trycatchfinally可以嵌套。 聲明拋棄異常 如果在一個(gè)方法中生成了一個(gè)異常,但是這一方法并不確切地知道該如何對(duì)這一異常事件進(jìn)行處理,這時(shí),該方法就應(yīng)該聲明拋棄異常,使得異常對(duì)象可以從調(diào)用棧向后傳播,直到有合適的方法捕獲它為止。 聲明拋棄異常是在一個(gè)方法聲明中的 throws子句中指明的。例如: public int read () throws IOException{ …… } throws子句中同時(shí)可以指明多個(gè)異常,之間由逗號(hào)隔開(kāi)。例如: public static void main(String args[]) throws IOException,IndexOutOfBoundsException { …… } 最后,我們?cè)俅螐?qiáng)調(diào),對(duì)于非運(yùn)行時(shí)例外,如前例中的 IOException等,程序中必須要作出處理,或者捕獲,或者聲明拋棄。而對(duì)于運(yùn)行時(shí)例外,如前例中的 ArithmeticException,IndexOutOfBoundsException,則可以不做處理。 聲明拋棄異常 【 例 84】 拋棄異常的例子(對(duì)例 81進(jìn)行改進(jìn)) // import .*。 public class Exception4{ public static void main(String args[])throws FileNotFoundException,IOException{ FileInputStream fis=new FileInputStream(“”)。 int b。 while((b=())!=1){ (b)。 } ()。 } } 聲明拋棄異常 【 例 85】 捕獲異常的例子(對(duì)例 81進(jìn)行改進(jìn)) import .*。 public class Exception5{ public static void main(String args[]) { try{ FileInputStream fis=new FileInputStream(“”)。 int b。 while((b=())!=1){ (b)。 } ()。 }catch(FileNotFoundException e){ ( e )。 ( message: +() )。 ( )。 }catch(IOException e){ ( e )。 } } } 拋出異常 拋出異常就是產(chǎn)生異常對(duì)象的過(guò)程,首先要生成異常對(duì)象,異?;蛘哂商摂M機(jī)生成,或者由某些類(lèi)的實(shí)例生成,也可以在程序中生成。在方法中,拋出異常對(duì)象是通過(guò) throw語(yǔ)句實(shí)現(xiàn)的。 例如: IOException e=new IOException()。 throw e 。 可以?huà)伋龅漠惓1仨毷?Throwable或其子類(lèi)的實(shí)例。下面的語(yǔ)句在編譯時(shí)將會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤: throw new String(throw anything)。 自定義異常類(lèi)必須是 Throwable的直接或間接子類(lèi)。 拋出異常 【 例 6】 顯示拋出異常詳細(xì)情況的例子 // public class Exception6 { public static void main(String[] args) { try { throw new Exception(My Exception)。 } catch (Exception e) { (Caught Exception)。 (getMessage(): + ())。 (getLocalizedMessage(): + ())。 (toString(): + e)。 (printStackTrace():)。 ()。 } } } 拋出異常 程序運(yùn)行結(jié)果如下 : d:\user\chap08java Exception6 Caught Exception getMessage():My Exception getLocalizedMessage():My Exception toString():: My Exception printStackTrace(): : My Exception at (:5) 拋出異常 例 87】 trycatchfinally嵌套的例子 class MyoneException extends Exception { } public class TryInbed { public static void main(String[] args) { (Entering first try block)。 try { (Entering second try block)。 try { throw new MyoneException()。 } finally {
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1