python異常處理講解?異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行,現在小編就來說說關于python異常處理講解?下面内容希望能幫助到你,我們來一起看看吧!
異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。
一般情況下,在Python無法正常處理程序時就會發生一個異常。
異常是Python對象,表示一個錯誤。
當Python腳本發生異常時我們需要捕獲處理它,否則程序會終止執行。
異常處理捕捉異常可以使用try/except語句。
try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息并處理。
如果你不想在異常發生時結束你的程序,隻需在try裡捕獲它。
語法:
以下為簡單的try....except...else的語法:
try:
<語句> #運行别的代碼
except <名字>:
<語句> #如果在try部份引發了'name'異常
except <名字>,<數據>:
<語句> #如果引發了'name'異常,獲得附加的數據
else:
<語句> #如果沒有異常發生
try的工作原理是,當開始一個try語句後,python就在當前程序的上下文中作标記,這樣當異常出現時就可以回到這裡,try子句先執行,接下來會發生什麼依賴于執行時是否出現異常。
下面是簡單的例子,它打開一個文件,在該文件中的内容寫入内容,且并未發生異常:
#!/usr/bin/python# -*- coding: UTF-8 -*-try: fh = open("testfile", "w") fh.write("這是一個測試文件,用于測試異常!!")except IOError: print "Error: 沒有找到文件或讀取文件失敗"else: print "内容寫入文件成功" fh.close()
以上程序輸出結果:
$ python test.py
内容寫入文件成功
$ cat testfile # 查看寫入的内容
這是一個測試文件,用于測試異常!!
你可以不帶任何異常類型使用except,如下實例:
try:
正常的操作
......................
except:
發生異常,執行這塊代碼
......................
else:
如果沒有異常執行這塊代碼
以上方式try-except語句捕獲所有發生的異常。但這不是一個很好的方式,我們不能通過該程序識别出具體的異常信息。因為它捕獲所有的異常。
使用except而帶多種異常類型你也可以使用相同的except語句來處理多個異常信息,如下所示:
try:
正常的操作
......................
except(Exception1[, Exception2[,...ExceptionN]]):
發生以上多個異常中的一個,執行這塊代碼
......................
else:
如果沒有異常執行這塊代碼
try-finally 語句無論是否發生異常都将執行最後的代碼。
try:
<語句>
finally:
<語句> #退出try時總會執行
raise
一個異常可以帶上參數,可作為輸出的異常信息參數。
你可以通過except語句來捕獲異常的參數,如下所示:
try:
正常的操作
......................
except ExceptionType, Argument:
你可以在這輸出 Argument 的值...
變量接收的異常值通常包含在異常的語句中。在元組的表單中變量可以接收一個或者多個值。元組通常包含錯誤字符串,錯誤數字,錯誤位置。
觸發異常我們可以使用raise語句自己觸發異常
raise語法格式如下:
raise [Exception [, args [, traceback]]]
語句中 Exception 是異常的類型(例如,NameError)參數标準異常中任一種,args 是自已提供的異常參數。
最後一個參數是可選的(在實踐中很少使用),如果存在,是跟蹤異常對象。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!