python中的try...except...finally函数
異常Error
我們在寫代碼的時(shí)候,經(jīng)常會遇見程序拋出Error無法執(zhí)行的情況
一般情況下,在Python無法正常處理程序時(shí)就會發(fā)生一個(gè)異常。異常是Python對象,表示一個(gè)錯(cuò)誤。當(dāng)Python腳本發(fā)生異常時(shí)我們需要捕獲處理它,否則程序會終止執(zhí)行。
try…except…else
try:正常的操作...................... except:發(fā)生異常,執(zhí)行這塊代碼...................... else:如果沒有異常執(zhí)行這塊代碼except后可寫入一個(gè)固定的錯(cuò)誤名稱 如寫 except IOError 并且我們可以寫多個(gè)except語句
try…except…finally
我們還可以使用try...except...finally...的錯(cuò)誤處理機(jī)制
try...except...finally...與try...except...else區(qū)別是 無論有沒有錯(cuò)誤 finally語句都會執(zhí)行
例如:
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' try:print('try...')r = 10 / 0print('result:', r) except ZeroDivisionError as e:print('except:', e) finally:print('finally...') print('END')當(dāng)我們認(rèn)為某些代碼可能會出錯(cuò)時(shí),就可以用try來運(yùn)行這段代碼,如果執(zhí)行出錯(cuò),則后續(xù)代碼不會繼續(xù)執(zhí)行,而是直接跳轉(zhuǎn)至錯(cuò)誤處理代碼,即except語句塊,執(zhí)行except語句塊,如果有finally語句塊,也會執(zhí)行finally語句塊,
即使捕捉到錯(cuò)誤,仍然會執(zhí)行finally語句塊,可以認(rèn)為finally語句塊優(yōu)先級高于except語句塊。
如下:
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def func1():try:return 1finally:return 2def func2():try:raise ValueError()except:return 1finally:return 3print(func1()) print(func2())程序打印結(jié)果是 2和3 ,即使func2里有return 1 ,但是仍然執(zhí)行return 3 ,實(shí)際應(yīng)用中,并不推薦在finally中使用return返回。
總結(jié)
以上是生活随笔為你收集整理的python中的try...except...finally函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python的 is 和 == 弄懂了吗
- 下一篇: python实现真正的冒泡排序算法(时间