物件導向(4)異常型別

2021-08-27 08:49:35 字數 1847 閱讀 9646

程式在執行過程中產生的不正常的現象稱為異常

在程式執行過程中如果產生異常,將根據預定義的方案或者解決辦法進行處理、當處理完以後、程式還將繼續執行直到結束,形成有效的、穩健的處理流程,這樣的過程稱為異常處理機制。

if語句在處理異常時暴露的缺點:

a:在程式中加入大量的if語句處理異常,將使得**變得臃腫,降低**的的可讀性和維護性。

b:使用if這種窮舉法、很難列舉出所有的異常情況、還是不能提高的軟體的健壯性

c:降低了軟體的互動性

d:if邏輯判斷語句在處理異常時會耗費開發者的大量精力處理異常,降低開發效率

e:在企業級開發過程中、if邏輯判斷語句在處理異常時會將異常處理**與正常的業務**交至在一起,降低了可讀性,提高了開發成本。

a、當try中的**塊全部正常執行完後,將結束整個try---catch**塊

繼續執行後續**

b、當try中的**塊只要有一行**執行過程中有異常、將結束try中的**塊

程式將執行catch中的**塊。

c、catch中的**塊執行完後、根據實際開發需要、執行後續處理。

強制退出、改變原有的執行流程 ====> system.exit(0);

a:不管try的業務**塊是否正常,都將執行finally中的**

b:但system.exit(0)語句可以臨時改變執行流程

c:finally不能單獨使用、可以與try語句結合使用

throws:

1、出現在方法列表的後面

2、可以指明乙個或者多個異常類(如果有繼承關係,子類在前父類在後)

3、在方法中不能單獨使用

throw:

1、出現在方法體中

2、丟擲乙個物件

3、在方法體中可以單獨使用

4、在實際開發過程中結合開發需求(即自定義異常型別)後使用

a:在開發過程中可以出現多重catch塊

b:推薦子類在前、父類在後的**組織順序

c:只要前面的子類有乙個**捉,後面的異常將不進行處理

算術異常類:arithmeticexecption

空指標異常類:nullpointerexception

型別強制轉換異常:classcastexception

陣列負下標異常:negativearrayexception

陣列下標越界異常:arrayindexoutofbound***ception

違背安全原則異常:secturityexception

檔案已結束異常:eofexception

檔案未找到異常:filenotfoundexception

字串轉換為數字異常:numberformatexception

運算元據庫異常:sqlexception

輸入輸出異常:ioexception

方法未找到異常:nosuchmethodexception

分類:a:業務日誌

b:sql日誌

c:異常日誌

作用:a:記錄軟體的執行狀態

b:根據狀態資訊提前預知軟體的的健康度

c:當系統出現異常時、根據日誌可以跟蹤、處理異常。

d:在資料庫開發中可以使用日誌進行資料庫的恢復工作。

e:日誌在在特定的國度和背景下、可以作為法律依據。

log4j介紹:

(1)log4j是一款日誌管理工具,屬於apache的開源專案

(2)通過屬性配置檔案進行日誌的管理

(4)在企業級開發中通常與其他主流框架結合使用

(5)該日誌管理工具是輕量級的框架

輕量級介紹:

(1)本身提供的jar包體積小

(2)在企業級開發中消耗的記憶體少

(3)具有非侵入式的特徵(easyui就是侵入式的)

物件導向 異常

異常 exception 1.定義 就是導致程式終止的一種指令流,異常會使程式終止執行 2.throw和throws a throw用於丟擲一場物件 b throws用於標識函式暴露出的異常 區別 a throw用在函式上,後面跟異常類名 b throws用在函式內,後面跟異常物件 3.異常細節 a...

物件導向 異常finally

finally 塊 定義一定執行的 通常用於關閉資源。class fushuexception extends exception class demo class exceptiondemo5 catch fushuexception e finally system.out.println ov...

物件導向 異常 RuntimeException

exceptoin 中有乙個特殊的子類異常 runtimeexception 如果在函式內容丟擲該異常,函式上可以不用宣告,編譯一樣通過。如果在函式上宣告了該異常,呼叫者可以不用進行處理,編譯一樣通過。自定義異常時 如果該異常的發生無法在繼續進行運算,就讓自定義異常繼承runtimeexceptio...