11.1 概述
異常發生在執行時
將程式執行中常見的問題抽象為物件-exception
類中包含(封裝)了問題的一些資訊(eg:名稱,位置)
方便將功能**和異常處理**分離
11.2 throwable
一般可處理的:exception
一般不可處理的:error
兩者均即成throwable類
throw和throws關鍵字將異常丟擲
error是又jvm丟擲的較為嚴重的問題
11.3 原理
在exception發生時,new乙個該exception,並丟擲,main方法將異常拋給jvm,jvm在命令列中列印,並寫入log。
11.4 runtime exception
除了執行時異常,其它異常均在編譯時被檢測。
普通異常可以針對性的解決,但runtime exception發生時運算無法繼續。
多數是由於呼叫的原因,或者引發了內部狀態的改變,執行中遇到時強行停止。
11.5 異常的捕捉
try
catch (exception e)
finally
try後可以跟多個catch捕捉不同異常
11.6 異常處理原則
catch到的異常必須處理,否則程式將繼續執行。
1)如果方法可能丟擲非runtime異常,該方法必須宣告throws,或用try-catch捕捉
2)呼叫到拋異常的方法是,必須使用throws 或try-catch
3)可解決時用try-catch,不易解決時將異常throw給呼叫者
4)丟擲多個異常,必須多個catch進行針對性處理
11.7 finally
包含一定會執行的**,即使catch到異常。(除非system.exit(0); 推出jvm)
一般為關閉或釋放資源的動作
11.8 注意事項
1)子類覆蓋父類方法是,如果父類方法丟擲異常,則子類必須丟擲此異常或其子類異常。(可以不拋)(考慮多型)
2)父類丟擲多個異常時,子類只能丟擲父類異常集的子集。
3)父類若沒有丟擲異常,子類覆蓋方法是也不能丟擲異常。
modern c design 第十一章
本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...
第十一章3
第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...
java第十一章
問題 1 錯誤 2 異常,1 編譯時異常 檢查異常 2 執行時異常 不檢查異常 是否能用 解決,是的就是異常,不是的就是錯誤 問題 1 先驗 2 捕獲 異常捕獲機智 異常的三個種類 1 檢查異常 2 執行時異常 3 錯誤 throw 提示方法呼叫者本方法可能發生異常 throw跟異常物件 throw...