標籤:工作 取值 try 16px def nal final 程式 總結
python中的 try...except...finally 的用法
author:headsen chen
date:2018-04-09 16:22:11
try, except, finally是Python中的異常捕捉機制,通常的用法就是try..except...結合起來用,程式捕捉try語句塊中的異常,如果發現異常就把異常交給except中的語句塊進行處理,也就是執行except中的語句,這裡except也可以結合
if...else一起使用。
例1:try中無異常時,執行try和finally中的內容
def read_file():
try:
print(‘aaa‘)
except:
print(‘error occurs while reading file‘)
finally:
print(‘bbbb‘)
read_file()
------>
aaa
bbbb
總結:當try下面的語句正常啟動並執行時候,一直運行。運行完了後運行finaly下面的語句
例2:try中有異常時:
當try下面的語句運行後,碰到異常的時候,運行except下面的語句,最後運行finaly下面的語句,finaly語句一般做些資源釋放的工作,比如關閉開啟的檔案等。
def read_file():
try:
print(2222222222)
print(aaa)
except:
print(‘error occurs while reading file‘)
finally:
print(‘bbbb‘)
read_file()
------>
2222222222 ----------> 證明try中正確的程式會被執行的,配到異常後在調到except部分執行異常的。
error occurs while reading file
bbbb
當然,try...except也可以結合finally使用。則將finally放在最後,finally語句塊的內容通常是做一些後事的處理,比如資源釋放什麼的,並且finally語句塊是無論如何都要執行的,即使在前面的try和except語句塊中出現了return,都現
將finally語句執行完再去執行前面的return語句。下面看一個簡單的例子:
例3:try...except...else的用法
else裡的只有在try下面的語句全部正確執行了才會執行else,try裡面有異常不會else的語句,和finaly不同,finaly是無論try裡有無異常都執行
def read_file():
try:
print(2222222222)
except:
print(‘error occurs while reading file‘)
else:
print(‘bbbb‘)
read_file()
例4:取傳回值1
當異常函數裡的傳回值取值:try裡面正確執行時,整個函數的傳回值採用try下面的傳回值
def read_file():
try:
print(2222222222)
# print(a)
return 5
except:
print(‘error occurs while reading file‘)
return 6
finally:
print(‘bbbb‘)
print(read_file())
----->
2222222222
bbbb
5
例5:取傳回值2
try裡面有異常時,整個函數的傳回值採用except下面的傳回值
def read_file():
try:
print(2222222222)
print(a)
return 5
except:
print(‘error occurs while reading file‘)
return 6
finally:
print(‘bbbb‘)
print(read_file())
----->
2222222222
error occurs while reading file
bbbb
6
python中的 try...except...finally 的用法