Java, Only Java!

          統(tǒng)計(jì)

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評(píng)論排行榜

          《Java大學(xué)教程》—第15章 異常

          自測(cè)題:
          1.    什么是異常?P357
          異常是在程序生命周期內(nèi)出現(xiàn)的事件,它會(huì)導(dǎo)致程序行為不可靠。

          2. 已檢查異常和未檢查異常的區(qū)別是什么?P359
          在編譯器允許程序被編譯通過(guò)前,要求程序員必須編寫代碼,告訴編譯器如何處理由特定指令產(chǎn)生的已檢查異常。
          但是編譯器對(duì)可能產(chǎn)生的未檢查異常并不認(rèn)為存在潛在的錯(cuò)誤可能,也就不會(huì)要求程序員必須編寫代碼處理,只是希望程序員在編寫代碼時(shí)就盡量避免出現(xiàn)這類異常。

          已檢查異常:FileNotFoundException, IOException, Exception
          未檢查異常:NegativeArraySizeException, NumberFormatException, ArrayIndexOutOfBoundsException, RuntimeException

          3.
          a)    拋出異常:P357 每種導(dǎo)致異常的事件類型都對(duì)應(yīng)Java中一個(gè)預(yù)定義的異常類。當(dāng)出現(xiàn)某個(gè)事件時(shí),Java運(yùn)行環(huán)境就會(huì)判斷出現(xiàn)異常的類型,
          并且生成一個(gè)該異常類的對(duì)象。這個(gè)過(guò)程稱為拋出(throwing)異常。

          b)    聲明異常:P361 是指為給定的方法做一個(gè)標(biāo)記,含義是該方法可能會(huì)生成一個(gè)異常類的對(duì)象。

          c)    捕捉異常:P364 在某個(gè)位置可以控制異常對(duì)象,而不是僅僅拋出它們。在Java中,這個(gè)過(guò)程稱為捕捉異常(catching an exception)。

          4.    finally語(yǔ)句的作用是什么?P367
          無(wú)論try程序塊中發(fā)生任何情況,都希望在程序終止運(yùn)行前執(zhí)行一些特別的指令,處理一些清理工作,因此就需要在try...catch程序塊的最后部分聲明finally程序塊。

          5.
          a)    不會(huì)編譯錯(cuò)誤
          b)    Integer.parseInt()和arrayIn[posIn]會(huì)拋出異常
          c)    輸入字母,導(dǎo)致NumberFormatException;輸入超過(guò)數(shù)組邊界的數(shù)會(huì)導(dǎo)致ArrayIndexOutOfBoundsException。

          6.    什么情況下需要定義自己的異常類?P378,P380
          從構(gòu)造函數(shù)中報(bào)告錯(cuò)誤的唯一方法是使用異常。但是拋出異常通用異常對(duì)象方法使程序無(wú)法通過(guò)名稱知道問(wèn)題的原因,
          還需要借助于getMessage方法來(lái)補(bǔ)充信息;并且用于處理特定異常對(duì)象的catch語(yǔ)句卻將捕捉所有被拋出的異常,
          因?yàn)樗械漠惓6际菑耐ㄓ卯惓n?Exception)派生的。為了希望使用與處理構(gòu)造函數(shù)異常不同的方式來(lái)處理其他異常,
          因此就得創(chuàng)建自己的異常類。

          編程練習(xí):代碼附件
          1.    ExceptionQ5.java

          2.   
          a)    ScannerTester.java
          b)    EasyScannerPlus.java
          c)    EasyScannerPlusTester.java

          3.    Hostel.java,    ObjectList.java,    Payment.java,    PaymentList.java,    Tenant.java,    TenantList.java,    NegativeSizeException.java

          posted on 2016-09-03 22:46 zYx.Tom 閱讀(269) 評(píng)論(0)  編輯  收藏 所屬分類: 1.Java世界

          主站蜘蛛池模板: 凤山市| 广南县| 德钦县| 安达市| 文安县| 安岳县| 瓦房店市| 松原市| 保亭| 湖口县| 威宁| 枣庄市| 东方市| 孟津县| 金塔县| 永年县| 沙洋县| 宝山区| 梁山县| 大悟县| 濮阳县| 青海省| 沙坪坝区| 彰武县| 吉首市| 河池市| 韶关市| 咸丰县| 徐水县| 鄯善县| 梧州市| 绍兴县| 陇南市| 临海市| 安塞县| 许昌县| 施秉县| 伊宁县| 浙江省| 莱西市| 泸定县|