Ch12 JAVA的例外處理.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * Ch12_01.java * Ch12_02.java * * * * * * * * * 福 春 福 福 福 福 福 Ch11JAVA的例外處理 物件導向程式設計(2) * * 大綱 Java的例外處理 例外處理的程式敘述 丟出例外 自訂Exception類別 * * Java的例外處理 Java語言的「例外」(Exception)是指產生了例外物件,這是一種例外事件,在程式執行時,發生不正常執行狀態時所產生事件的物件,「例外處理」(Handling Exceptions)就是在處理這些例外事件。 例外處理的目的是為了讓程式能夠更「強壯」(Robust),當程式遇到不尋常情況,也不會造成程式「崩潰」(Crashing),進而導致整個系統當機。 * * 例外處理的架構-說明 Java的例外處理架構是一種您丟我撿的架構,當JVM執行Java程式有錯誤發生時,就會產生例外物件,有了例外,JVM開始尋找是否有方法可以處理。 一種是在方法上加上例外處理的程式敘述來處理例外(在第13-2節說明)。 或是將例外丟給其它方法來處理(在第13-3節說明)。 * * 例外處理的架構-圖例 * * 例外處理的架構-過程 在執行Java程式時,從main()方法呼叫methodA()方法,接著呼叫methodB()方法,最後呼叫methodC()方法,呼叫過程是存入稱為「呼叫堆疊」(Call Stack),這是一種先進後出的資料結構,用來儲存呼叫方法的狀態資料,以便返回還原成呼叫時的狀態。 當methodC()方法發生錯誤產生例外物件A,JVM倒過來找尋方法是否擁有例外處理,首先是methodC()和methodB(),因為沒有例外處理,所以例外會傳遞給methodA(),在此方法擁有例外處理A,所以可以處理例外物件A。 * * Throwable類別-說明 在Java產生的例外物件屬於Throwable類別或其子類別的實例,Throwable類別擁有2個直接繼承的子類別,如下所示: Error類別:其子類別屬於JVM的嚴重錯誤,這種錯誤會導致程式終止執行,所以並沒有辦法使用例外處理來處理這種錯誤。 Exception類別:其子類別是各種例外物件,也是例外處理可以處理的部分,事實上,部分例外物件也是一種錯誤,只是錯誤沒有嚴重到需要終止程式執行,例外處理就是在防止程式終止執行,並且作一些補救操作。 * * Throwable類別-說明 Exception類別擁有子類別RuntimeException,在此類別的子類別是一些常見的例外,如下表所示: * * 例外處理的程式敘述-區塊架構 Java語言例外處理程式敘述分為try、catch、finally三個程式區塊,可以處理特定的例外物件,如下所示: try { ……… } catch(ExceptionType e) { // 例外處理 ……… } finally { ……… } * * 例外處理的程式敘述-try程式區塊 try程式區塊 在try區塊的程式碼檢查是否產生例外,當例外產生時,就會丟出指定例外類型的物件。 * * 例外處理的程式敘述-catch程式區塊 catch程式區塊 在try程式區塊的程式碼如果丟出例外,Java程式需要準備一到多個catch程式區塊處理不同類型的例外,傳入參數e是例外類型的物件(繼承自Throwable類別),可以取得例外的相關資訊,其相關方法如下表所示: * * 範例1:例外處理_除以零 b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { String s1 = t1.getText(); int i1 = Integer.parseInt(s1); int i2 = Integer.parseInt(t2.getText()); int ans = i1 / i2; t3.setText(Integer.toString(ans)); } } ); * * 範例1(續) b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { try { String s1 = t1.getText(); int

文档评论(0)

神话 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5203223011000000

1亿VIP精品文档

相关文档