try....except語句語法格式:
try:
<語句>
except(異常名稱):
<語句>
注意在except語句中的括號中的異常名稱是可以省略的,當省略時就是全捕捉
try...except語句的執行步驟
1.執行try字句
2.如果沒有異常發生則會跳過except子句,try字句執行之后結束
3.如果在執行try字句時發生了異常,如果與except中異常名稱相同,則會執行except字句
4.如果try字句中發生了異常,但與except中的異常名稱不符合則會傳遞到上層的try中,即輸出起異常類型
eg:
try:
10/0
except ZerpDivisionError:
print("數值不能除以0")
全捕捉
使用一個except語句處理所有的異常
eg:
s = [1,2,3,4]
def get(n):
try:
if n < 200:
data = s[4]
else:
file = open(100,200,300,400)
except:
print("gain all Error")
get(100)
get(300)
excpet字句中忽略所有的異常,從而讓程序輸出自定義的異常信息
異常中的else
使用else語句來處理沒有異常的情況。注意使用else語句時,一定要有except語句。類似於只有有if才能有else
def get(n):
if n < 100:
data = s[4]
elif 200 <= n <= 300:
data = s[4]
except:
print("Error")
else:
print("True")
添加一個else語句可以使我們能夠更好的判斷程序執行情況
拋出異常
python中是用raise語句拋出一個指定的異常
eg:
raise NameError()
raise唯一的一個參數指定了要拋出的異常。
結束python解釋器的運行
raise SystemExit
