Python程式設計之異常處理 2

2021-10-03 12:58:06 字數 1461 閱讀 3669

1.處理異常的兩種特殊方法:

①斷言:

語句格式:assert exception[,reason]

解釋:當exception為真時,什麼都不做,如果表示式為假就丟擲異常;

注意:assert一般用於對某個時刻必須滿足的條件進行驗證,__debug__為真時有效,當python指令碼以-o選項編譯時,assert語句將被移除來提高效率。

②上下文管理:

語句格式:with context_expr[as var]: with 塊

解釋:上下文管理,with語句可以實現自動管理資源,在**塊執行完畢後自動還原進入該**塊之前的現場或上下文;

注意:不論何時跳出with塊,也不論是否發生異常,總能保證資源被釋放!

2.斷言:

案例:

try

:assert1==

2,'1 is not equal 2!'

except assertionerror as reason:

print

('%s:%s'

%(reason.__class__.__name__,reason)

)

輸出結果:

assertionerror:1is

not equal 2!

3.上下文管理

案例:

with

open

('1.txt'

,'r+'

)as f:

for line in f:

print

(line)

4.使用使用sys模組回溯最後的異常

sys.exc_info() #返回乙個三元組(type(異常型別),value/message(表示異常資訊或者引數),traceback(包含呼叫棧資訊的物件))

注意:相對於標準異常處理機制,可以直接定位最終引發異常的原因,但難以直接確定引發異常的位置

#使用sys回溯最近的一次異常

import sys

#try:

# block

#except:

# t=sys.exc_info() #返回乙個三元組(type(異常型別),value/message(表示異常資訊或者引數),traceback(包含呼叫棧資訊的物件))

# print(t)

try:1/

0except

: r=sys.exc_info(

)#相對於標準異常處理機制,可以直接定位最終引發異常的原因,但難以直接確定引發異常的位置

print

(r)

學習筆記

1.斷言語句assert一般用於對程式某個時刻必須滿足的條件的驗證;

2.上下文管理語句with在**執行完畢後能夠自動還原進入**之前的現場或上下文,不論是否發生異常總能保證驗證資源被正確釋放。

PHP 物件導向程式設計之異常處理

說明 class exception try分支 在這裡進行 測試,如果有問題就要丟擲乙個異常,如果沒有問題就繼續執行 tryelse catch分支 就是捕捉異常物件 引數 異常物件,使用的是型別約束,只能捕捉由exception類例項化來的物件 catch exception e 自定義異常類時...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python學習筆記(2)異常處理

有時候我們不確定寫的 是否正確。不確定是否會出現這樣那樣的錯誤,這樣我們就可以用try進行測試當然也可以用debug。這裡讓我們看一下try。如果你已經預料到了錯誤型別,你就可以用這種形式,比如你已經能夠知道了可能發生的錯誤是檔案不存在 try 出現乙個異常以後不會檢查其他的 f open sjsk...