異常和遞迴

2021-07-30 08:22:57 字數 1095 閱讀 4102

不正常,是編譯或者執行時期出現的問題。

l throwable(所有

錯誤或異常的根類)

n error(錯誤,不可挽回的嚴重問題)

n exception(異常根類,可以挽回的問題)

u runtimeexception(執行

時異常);

l 格式

try  catch(要

捕獲的異常

變數名) {

處理方式;

l 執行流程:先去執行try中的**,如果

try中的**有異常,判斷

catch

中是否可以捕獲到,如果沒有捕獲到,直接丟擲,如果捕獲到了,就執行對應的

catch

。如果try中的**沒有異常,就跳過

catch

,繼續往下執行

l 注意:乙個try可以對應多個

catch

,只執行乙個

catch。在catch中捕獲的異常,父類不能出現在子類的前面。

l 當我們不想處理,或者沒有能力處理時,這時候可以選擇吧異常給跑出去。

l throws:用在方法宣告位置上,給方法做乙個宣告,宣告此方法有可能會丟擲異常。如果呼叫乙個宣告了異常的方法,呼叫者,也需要宣告異常

l throw:

手動製造乙個異常丟擲

string getmessage():返回簡短的錯誤資訊

string tostring():

返回詳細的錯誤資訊

void printstacktrace():列印

非常詳細的錯誤資訊(最詳細)

用來結合try…catch使用finally修飾的**塊,無論如何都會執行,finally**塊一般用來做收尾工作,比如釋放資源

執行時異常:runtimeexception它或者它下面的子類,編譯時期可以處理也可以不處理

編譯時異常: runtimeexception它

體系外的異常都屬於編譯時異常,編譯時異常在編譯時期必須要處理

自己寫乙個類,然後繼承自異常類中的乙個類就可以

方法直接或者間接的呼叫它本身

l 一定要有出口。沒有出口會死迴圈導致記憶體溢位

l 次數不能過多,會記憶體溢位

Python 深度遞迴異常

python超出遞迴深度時會出現異常 runtimeerror maximum recursion depth exceeded 查閱資料後發現python預設的遞迴深度是很有限的,應該是998 至於為什麼是998,自行體會 當遞迴深度超過這個值的時候,就會引發這樣的乙個異常。解決的方式是手工設定遞...

異常和異常處理

程式執行遇到兩種錯誤 1.error 錯誤 致命錯誤,無法恢復執行 2.exception 異常 通過修正,繼續執行。異常類常用方法 1.tostring 返回描述異常物件資訊字串 2.getmessage 返回描述物件詳細資訊 處理方法 1.try catch finally 1 try中包涵可能...

關於異常和異常捕獲。

異常即非正常狀態,主要包括書寫或語法上的錯誤導致直譯器無法正常執行。異常描述 importerror 匯入模組 物件失敗 indexerror 序列中沒有此索引 index keyerror 對映中沒有這個鍵 nameerror 未宣告 初始化物件 沒有屬性 syntaxerror python 語...