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

正文內(nèi)容

ja15-08第9章異常處理解析-資料下載頁

2025-08-11 12:19本頁面
  

【正文】 拋出異常,將該異常拋出到該方法的調(diào)用方法中,一直可追溯到 main()方法, JVM肯定要處理的,這樣編譯就可以通過了。在方法聲明中添加 throws子句表示方法將拋出異常。 教材 例 37 由方法拋出異常交系統(tǒng)處理 由一 對(duì)于程序需要處理的異常,一般編寫 trycatchfinally語句捕獲并處理,而對(duì)于程序中無法處理必須交由系統(tǒng)處理的異常,由于系統(tǒng)直接調(diào)用的是主方法 main(),所以可以在主方法中使用 throws子句聲明拋出異常交由系統(tǒng)處理,編譯能通過,運(yùn)行也沒問題。 教材 例 38 39 public method1() { int x。 try{ x = ()。 pute(x)。 }catch(IOException ioe){ (“read error”)。 }catch(ArithmeticException e){ (“devided by 0”)。 } } public int pute(int x) throws ArithmeticException { int z = 100/x。 return z。 } method1 pute 異常 異常 拋出 處理 調(diào)用 40 捕獲異常 finally語句 ? finally語句 捕獲異常的最后一步是通過 finally語句為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流程轉(zhuǎn)到程序的其他部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。 無論 try所指定的程序塊中是否拋出異常,也無論 catch語句的異常類型是否與所拋棄的異常的類型一致, finally所指定的代碼都要被執(zhí)行,它提供了統(tǒng)一的出口。 ( finally語句與 switch中的 default語句是不同的?。? 通常在 finally語句中可以進(jìn)行資源的清除工作,如關(guān)閉打開的文件、刪除臨時(shí)文件等。 41 try { in = new FileInputStream(“”)。 對(duì)文件進(jìn)行處理的程序 。 }catch(IOException e) { //對(duì)文件異常進(jìn)行處理 。 }finally { //不論是否發(fā)生異常,都關(guān)閉文件 。 } finally在文件處理時(shí)非常有用 ? 異常的覆蓋 ? finally代碼段中應(yīng)該把可能產(chǎn)生異常的語句用 trycatch保護(hù)起來 if (in != null) { try { ()。 }catch (IOException e){…} } // 使用 trycatch結(jié)構(gòu),防止 finally代碼段拋出異常 自定義異常類 系統(tǒng)定義的異常類主要用來處理系統(tǒng)可以預(yù)見且較常見的運(yùn)行錯(cuò)誤。 創(chuàng)建用戶自定義異常時(shí),一般需完成如下工作: 用戶自定義的異常類必須是 Throwable類的直接或間接子類( Exception) 。 為用戶自定義的異常類定義屬性和方法,或覆蓋父類的屬性和方法,使這些屬性和方法能夠體現(xiàn)該類所對(duì)應(yīng)的錯(cuò)誤信息。 用戶自定義異常同樣要用 trycatchfinally捕獲,但必須由用戶自己拋出( throw)。 42 43 異常是一個(gè)類,自定義異常必須繼承自 Throwable或 Exception類。 建議: ? 異常一定是不經(jīng)常發(fā)生的故障,應(yīng)避免把控制流程作為異常處理 ? 盡量使用 JDK提供的異常類:重用、便于理解 ? 用 Exception/ RuntimeException類:編譯時(shí)異常、運(yùn)行時(shí)異常。 ? 一般不把自定義異常作為 Error的子類,因?yàn)?Error通常被用來表示系統(tǒng)內(nèi)部的嚴(yán)重故障。 Throwable Error Exception RuntimeException 自定義異常 處理 44 當(dāng)自定義異常是從 RuntimeException及其子類繼承而來時(shí),該自定義異常是運(yùn)行時(shí)異常,程序中可以不捕獲并處理它。 當(dāng)自定義異常是從 Throwable、 Exception及其其他子類繼承而來時(shí),該自定義異常是編譯時(shí)異常,也即程序中必須捕獲并處理它。 自定義異常的形式 : class MyException extends Exception { … } 教材例 小結(jié) 45 ? 異常處理的一般格式: Java的異常處理機(jī)制使得處理異常的代碼和“常規(guī)”代碼分開,減少了代碼的數(shù)量,增強(qiáng)了程序的可讀性 (可以對(duì)比用 if語句來處理異常的情形,這時(shí)需要進(jìn)行一系列條件的判定 )。 try{ Java statement。 }catch(ExceptionType1 ExceptionObject1){ ExceptionObject1 handling。 }catch(ExceptionType2 ExceptionObject2){ ExceptionObject2 handling。 } … }finally{ final handling。 //統(tǒng)一的出口 ,最終必定要執(zhí)行 } 46 ? Java的異常處理機(jī)制使得異常事件可以沿調(diào)用 堆 棧自動(dòng)向上傳播, 沿著被調(diào)用的順序往前尋找,只要找到符合該異常種類的異常處理程序,就交給這部分程序去處理。 而不是 C語言中通過函數(shù)的返回值來傳播,這樣可以傳遞更多的信息并且簡(jiǎn)化代碼的編寫。 ?在捕獲或聲明異常時(shí),要選取合適類型的異常類,注意異常的類層次,根據(jù)不同的情況使用一般或特殊的異常類。 ?應(yīng)該根據(jù)具體的情況選擇在何處處理異常?;蛘咴诜椒▋?nèi)捕獲并處理,或者用 throws子句把它交給調(diào)用棧中上層的方法去處理。 47 ? 異??梢匀藶榈貟伋?,用 throw new ExceptionType()語句。 ? 異??梢允窍到y(tǒng)已經(jīng)定義好的,也可以是用戶自己定義的。用戶自己定義的異常一定要繼承自 Throwable或 Exception等類。 ? 在自定義異常類時(shí),如果它所對(duì)應(yīng)的異常事件通??偸窃谶\(yùn)行時(shí)產(chǎn)生,而且不容易預(yù)測(cè)它將在何時(shí)何地發(fā)生,可以將它定義為運(yùn)行時(shí)異常,否則應(yīng)定義為非運(yùn)行時(shí)(編譯時(shí))異常。 ? 應(yīng)該使用 finally語句為異常處理提供統(tǒng)一的出口。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1