- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精解Java2程式语言.ppt
精解Java2程式語言 例外處理 例外處理(Exception Handling) 在Java中,程式錯誤的處理可以藉由所謂的例外處理機制 (Exception-handling mechanism)來控制,因此為了能設計出穏定安全的程式,所有對Java程式設計有趣的人員都必需知道Java例外處理的原則。 本章重點 什麼是「例外」 影響程式中指令敘述正常執行順序的異常狀態,例如: 進行除法運算時,分母值為零 存取陣列元素時所用的索引值超出陣列的大小 程式中欲開啟以便讀取資料的檔案尚未存在 記憶體不足 硬碟無法正常運作 異常狀態發生時 Java Runtime會中止目前指令的執行 產生描述此異常狀態之內容的例外物件 (Exception Object) 並 決定如何進一步處理此異常狀態。 例外的種類 Runtime Exception及Error由Java系統自行處理。 Checked Exception的處理則強制由程式設計師於程式中指定,若無指定則程式於編譯時就可能產生如下之訊息: 如何查閱線上Java API文件以取得各指令/方法所可能觸發之例外? 如何指定例外的處理方式 由下述的程式結構決定: 程式Ex7_3_1除數為零-程式範例 try區塊的指令會產生一個除數為零的例外 程式輸出 列印例外物件的說明 例外物件 的getMessage() 方法會傳回該例外的文字說明: 使用throws敘述 throws關鍵字可以用來指定由外層的方法來來處理例外 程式Ex7_5_1使用throws-程式範例 自行控制例外的產生 使用throw敘述觸發例外 狀態 一般語法: throw ThrowableInstance; 其中ThrowableInstance物件必需是Throwable類別或其子類別的成員 一般與自定例外配合使用 程式Ex7_6_1 使用throw敘述 Throwable類別階層 自定例外 類別 撰寫自定的例外: 首先必須自行定義一個屬於Throwable類別之後代的子類別 然後利用 new 指令建立一個自定之例外類別的物件 最後利用throw敘述觸發例外 程式Ex7_8_1 自定例外類別 (1/4) 程式Ex7_8_1 自定例外類別 (2/4) Java Runtime如何決定例外處理常式 基本原則 由內而外 由上而下 順序優先 由內而外 當有巢狀式的try區塊時,Java Runtime會先從與最內層的try區塊所對應的catch區塊去尋找適當的例外處理常式,若沒有才去尋找外層的catch區塊 由上而下 當方法a呼叫方法b而方法b又呼叫方法c時,若於方法c的執行過程中產生了例外,則Java Runtime會依呼叫堆疊(Call Stack)中各方法出現的順序依序從上而下尋找處理常式 順序優先 當一個try區塊對應有一個以上的catch區塊時,Java Runtime會按照各catch區塊在程式中出現的順序尋找合適的處理常式,找到之後就執行該處理常式的指令,其它的catch區塊則跳過不執行 。 結 語 例外是指會影響程式中指令敘述正常執行順序的異常狀態 程式設計人員必需指定所有 Checked Exception 的處理方式 程式設計人員可以透過 throw 指令在自己撰寫的程式中觸發例外 程式設計人員也可以自定例外 方法a 方法b 方法c try { try {…} catch (…) {...} catch (…) {...} } catch (…) {…} … 呼叫 返回 呼叫 返回 小結:Java如何選定例外處理常式 程式Ex7_10_1 決定例外處理常式的順序 (1/3) import java.io.*; import .*; public class ExceptionDemo { // 程式執行起點 public static void main (String [] args) throws Exception { // 建立ExceptionDemo的執行物件 ExceptionDemo ed = new ExceptionDemo(); //引用方法a ed.a(); // 主動觸發IOException例外 throw (new IOException()); } void a() throws MalformedURLException { try { //引用方法b b(); } catch(MalformedURLException e) { // 列印MalformedURLE
有哪些信誉好的足球投注网站
文档评论(0)