python中提供了很多不同形式的異常處理結構,其基本利用思路都是:先嘗試執行**,再進行處理可能發生的錯誤。
1.try…except…結構
在python異常處理結構中try…except…結構使用最為頻繁,其中try子句中**塊為可能引發異常的語句,except子句用來捕獲相應的異常。也可以解釋為,當try子句**塊執行異常並且被except子句捕獲,則執行except子句的**塊。**例子:
math =
input
('成績:'
)try
: math =
int(math)if(
0<=math<=
100)
:print
('成績為:'
,math)
else
:print
('不在範圍'
)except exception as e:
print
('輸入有誤!'
)
2.try…excep…else…結構
上面的例子我們是通過if語句判斷學生數學成績是否在0~100的範圍,也可以通過try…except…else…結構進行編寫。如果try**的子句出現了異常且該異常被except所捕獲,則可以執行相應的異常處理**,此時就不會執行else中的子句;如果try中的**沒有丟擲異常,則繼續執行else子句**塊。**例子:
math =
input
('成績:'
)try
: math =
int(math)
except exception as e:
print
('輸入有誤!'
)else:if
(0<=math<=
100)
:print
('成績為:'
,math)
else
:print
('不在範圍'
)
3.try…except…finally… 結構
在try…except…finally…結構中。無論try子**塊是否正常執行,finally子句中的**塊總是會得到執行。在日常開發過程中,通常用來做清理工作,用來釋放try子句中申請的資源。**例子:
a =
int(
input
('a:'))
b =int
(input
('b:'))
try:
div = a/b
print
(div)
except exception as e:
print
('輸入有誤'
)finally
:print
('執行結束!'
)
python 異常處理3
def set age age if age 0 or age 200 print 值錯誤 raise valueerror 值錯誤 else print 給張三的年齡設定為 age try set age 18 except exception as e print x e 什麼時候應該向外界丟擲...
Python常見異常型別處理
目錄 前言 開發人員在編寫程式時,難免會遇到錯誤,有的是編寫人員疏忽造成的語法錯誤,有的是程式內部隱含邏輯問題造成的資料錯誤,還有的是程式執行時與系統的規則衝突造成的系統錯誤,等等。總的來說,編寫程式時遇到的錯誤可大致分為 2 類,分別為語法錯誤和執行時錯誤。語法錯誤,也就是解析 時出現的錯誤。當 ...
Spring MVC 處理異常的3種方式
注 exceptionhandler標註的方法,方法簽名靈活 多變。被 responsestatus註解的方法將會修改相應狀態碼,而使用 responsebody可以返回json格式的資料,再供前端處理 使用者註冊 param user return public string register u...