瘋狂輸出 異常處理 異常的分類

2021-08-14 01:45:53 字數 2227 閱讀 5052

異常處理

throwable (異常處理的父類)

throwable中的方法

public

class demo0

}

error 系統奔潰 資料庫奔潰 (跟咱們**沒關係)

exception 異常 是跟**有關係的

rutimeexception 執行時異常

出現異常 系統如何解決 ????

main函式的解決方式

1.main 函式自己解決

2.mian函式把問題拋給上級去解決(誰呼叫的main函式 誰去解決)

那當main函式解決不了的時候main函式會怎麼辦?

1.main數會 ———–交給jvm虛擬機器去解決2.

2.如果jvm虛擬機器解決不了的話就會 列印錯誤資訊 和錯誤發生在什麼位置

3.jvm虛擬機器也解決不了會列印錯誤資訊和發生的位置讓我們自己進行解決

解決異常的方式

try(嘗試) 指測試這個異常

catch(捕獲)指捕獲這個異常

finally(最後)指異常結束後做的事情

捕獲的流程

1.發生異常

2.根據發生異常的異常物件 產生對應的異常物件

3. 這個異常物件 會返回給呼叫者

4. 如果呼叫者處理了這個異常 (新增try…catch)

異常物件會根據catch進行匹配 匹配上執行catch中的語句

程式會繼續執行下去

5. 如果呼叫者沒有處理這個異常 缺省會交給jvm去處理異常

根據產生的異常物件 列印對應的錯誤資訊和錯誤發生的位置

程式停止

下面我們寫一段**來驗證一下上述的流程(單catch的捕獲異常)

public

class unusualcatch(arithmeticexception e)

}}

多catch 的捕獲異常

異常處理的作用 : 幫們來完善** 讓我們自己出現的錯誤更容易被發現

public

class usnsual;

try catch (arithmeticexception e) catch (arrayindexoutofbound***ception e)

system.out.println("猜猜我執行了麼?");

}}

finally

它的作用就是 :不管你異常有沒有發生 有沒有匹配到都會執行。

寫乙個例子

public

class demo

public

static

void main(stringagrs) catch (arithmeticexception e) finally

system.out.println("我是下面的語句");}}

}

異常還分為兩種 執行時異常 編譯時異常

執行時異常 : 一定是自己****出了問題才會發生執行時異常

執行時語法上沒有錯誤 可以執行但是執行時會報錯。

編譯時異常 : 就是問題的提前預警 強制你去處理這個異常如果你不出來這個異常

編譯也不會通過

也就是說在編寫**的時候在語法結構上有問題系統會提示你修改

編譯異常解決流程

編譯異常

系統這時候不知道你到底有沒有這個檔案然後會問你

沒有這個檔案該怎麼處理

如果你不解決他會強制的要求你去解決我就是停止執行這個程式

這就是編譯時異常 我們所說的編譯時會報錯

//解決異常的兩種方式

1.自己去處理 利用 try catch

2.把問題丟擲去 那拋給誰呢? 誰要呼叫就拋給誰 就讓呼叫的那個函式或者方法區處理

下面我們來練習乙個題

無限輸入整數 存放 到集合中列印 輸入quit停止

希望在輸入 字串的時候讓程式 也能繼續執行

//建立乙個類

public

class demo//自己處理這個異常

trycatch(nuberformatexception e)

}for(integer integer : arraylist);

system.out.println(integer);

}} }

輸出,異常處理

首先判斷 是否構成三角形,在進行判定。並丟擲錯誤處理。include include include using namespace std double floor double x,double y,double z else returnf intmain catch const char s...

《瘋狂Python講義》之異常處理

異常機制已經成為衡量一門程式語言是否成熟的標準之一,使用異常處理機制的python程式有更好的容錯性,更加健康。python的異常處理機制可以讓程式具有極好的容錯性。使用try except捕獲異常 語法結構如下 try 業務實現 except error1,error2,as e alert 輸入...

異常的分類

總體上異常分為兩個方向 1 由於使用者行為導致的異常 沒有通過驗證器,傳遞的引數不正確 沒有查詢到結果 這種異常通常是不需要記錄日誌 需要向使用者返回具體資訊 2 伺服器自身異常 錯誤 呼叫外部介面錯誤 通常記錄日誌 不向客戶端返回具體原因 3 業務處理單獨的放在 業務層 模型更加關注得是業務邏輯 ...