python如何寫try語句
python的try語句有兩種風(fēng)格
一是處理異常(try/except/else)
二是無論是否發(fā)生異常都將執(zhí)行最后的代碼(try/finally)
try/except/else風(fēng)格
try: <語句> #運(yùn)行的代碼 except <名字>: <語句> #如果在try部份引發(fā)了'name'異常 except <名字>,<數(shù)據(jù)>: <語句> #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù) else: <語句> #如果沒有異常發(fā)生
try的工作原理是,當(dāng)開始一個(gè)try語句后,python就在當(dāng)前程序的上下文中作標(biāo)記,這樣當(dāng)異常出現(xiàn)時(shí)就可以回到這里,try子句先執(zhí)行,接下來會發(fā)生什么依賴于執(zhí)行時(shí)是否出現(xiàn)異常。
1、如果當(dāng)try后的語句執(zhí)行時(shí)發(fā)生異常,python就跳回到try并執(zhí)行第一個(gè)匹配該異常的except子句,異常處理完畢,控制流就通過整個(gè)try語句(除非在處理異常時(shí)又引發(fā)新的異常)。
2、如果在try后的語句里發(fā)生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結(jié)束程序,并打印缺省的出錯信息)。
3、如果在try子句執(zhí)行時(shí)沒有發(fā)生異常,python將執(zhí)行else語句后的語句(如果有else的話),然后控制流通過整個(gè)try語句。
try/finally風(fēng)格
try: <語句> finally: <語句> #退出try時(shí)總會執(zhí)行
python總會執(zhí)行finally子句,無論try子句執(zhí)行時(shí)是否發(fā)一異常。
1、如果沒有發(fā)生異常,python運(yùn)行try子句,然后是finally子句,然后繼續(xù)。
2、如果在try子句發(fā)生了異常,python就會回來執(zhí)行finally子句,然后把異常遞交給上層try,控制流不會通過整個(gè)try語句。
當(dāng)你想無論是否發(fā)生異常都確保執(zhí)行某些代碼時(shí),try/finally是有用的。
這個(gè)在打開文件的時(shí)候有用 finally總是在最后close()文件
try語句子句形式表
- except: 捕獲所有異常
- except name: 只捕獲特定的異常
- except name,value: 捕獲異常和它的附加數(shù)據(jù)(將異常的信息保存到value,)
- except (name1,name2): 捕獲任何列出的異常
- else: 如果沒有異常
- finally: 總是執(zhí)行
try:
f = open('file.txt')
except IOError, e:
print e
else:
print 'wrong'
[Errno 2] No such file or directory: 'file.txt'
最新的python版本 支持try/except/finally
1:如果x沒有異常,執(zhí)行z,i
2:如果x有異常:
一:如果except捕捉到異常則執(zhí)行y,i
二:沒捕捉到,執(zhí)行i,然后返回內(nèi)置異常處理
try: x except(name): y else: z finally: i
到此這篇關(guān)于python如何寫try語句的文章就介紹到這了,更多相關(guān)python寫try語句的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pandas知識點(diǎn)之缺失值處理詳解
這篇文章主要給大家介紹了關(guān)于Pandas知識點(diǎn)之缺失值處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
python用reduce和map把字符串轉(zhuǎn)為數(shù)字的方法
最近在復(fù)習(xí)高階函數(shù)的時(shí)候,有一道題想了半天解不出來。于是上午搜索資料,看了下別人的解法,發(fā)現(xiàn)學(xué)習(xí)編程,思維真的很重要。下面這篇文章就來給大家介紹了python利用reduce和map把字符串轉(zhuǎn)為數(shù)字的思路及方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
在python的WEB框架Flask中使用多個(gè)配置文件的解決方法
所謂配置文件管理,就是在不改變源代碼的前提下,擁有兩套(甚至多套)配置文件,分別用于開發(fā)環(huán)境和生產(chǎn)環(huán)境,通過命令行選擇配置文件2014-04-04
PyQt5實(shí)現(xiàn)無邊框窗口的標(biāo)題拖動和窗口縮放
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)無邊框窗口的標(biāo)題拖動和窗口縮放,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Python協(xié)程的2種實(shí)現(xiàn)方式分享
在?Python?中,協(xié)程(Coroutine)是一種輕量級的并發(fā)編程方式,可以通過協(xié)作式多任務(wù)來實(shí)現(xiàn)高效的并發(fā)執(zhí)行。本文主要介紹了Python實(shí)現(xiàn)協(xié)程的2種方式,希望對大家有所幫助2023-04-04

