Java, Only Java!

          統(tǒng)計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

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

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

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

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

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

          b)    聲明異常:P361 是指為給定的方法做一個標記,含義是該方法可能會生成一個異常類的對象。

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

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

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

          6.    什么情況下需要定義自己的異常類?P378,P380
          從構(gòu)造函數(shù)中報告錯誤的唯一方法是使用異常。但是拋出異常通用異常對象方法使程序無法通過名稱知道問題的原因,
          還需要借助于getMessage方法來補充信息;并且用于處理特定異常對象的catch語句卻將捕捉所有被拋出的異常,
          因為所有的異常都是從通用異常類(Exception)派生的。為了希望使用與處理構(gòu)造函數(shù)異常不同的方式來處理其他異常,
          因此就得創(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) 評論(0)  編輯  收藏 所屬分類: 1.Java世界

          主站蜘蛛池模板: 鸡泽县| 建湖县| 达孜县| 鲜城| 原平市| 梅州市| 尖扎县| 北海市| 墨竹工卡县| 富民县| 长垣县| 天柱县| 河西区| 嫩江县| 宜丰县| 宜君县| 湛江市| 云南省| 丹阳市| 东阳市| 宿迁市| 芷江| 云林县| 新竹县| 大关县| 柳河县| 温宿县| 凯里市| 铜山县| 年辖:市辖区| 金山区| 黄浦区| 巴东县| 若羌县| 永寿县| 泰州市| 交口县| 延寿县| 都江堰市| 浦城县| 延庆县|