第十一章 異常

2021-07-26 09:00:31 字數 1091 閱讀 3904

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...