Python異常處理操作實例詳解
本文實例講述了Python異常處理操作。分享給大家供大家參考,具體如下:
一、異常處理的引入
>>>whileTrue: try: x = int(input("Please enter a number: ")) break exceptValueError: print("Oops! That was no valid number. Try again ") Please enter a number: y Oops!That was no valid number.Try again Please enter a number:1.3 Oops!That was no valid number.Try again Please enter a number:5
二、try語句工作方式
1、執(zhí)行try子句(在關鍵字try和關鍵字except之間的語句)
2、如果沒有異常發(fā)生,忽略except子句,try子句執(zhí)行后結束。
3、如果在執(zhí)行try子句的過程中發(fā)生了異常,那么try子句余下的部分將被忽略。如果異常的類型和 except 之后的名稱相符,那么對應的except子句將被執(zhí)行。最后執(zhí)行 try 語句之后的代碼。
4、如果一個異常沒有與任何的except匹配,那么這個異常將會傳遞給上層的try中。
5、一個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有一個分支會被執(zhí)行。
6、處理程序將只針對對應的try子句中的異常進行處理。
7、一個except子句可以同時處理多個異常,這些異常將被放在一個括號里成為一個元組,例如:
except (RuntimeError, TypeError, NameError): pass
8、最后一個except子句可以忽略異常的名稱,它將被當作通配符使用。你可以使用這種方法打印一個錯誤信息,然后再次把異常拋出。
>>>import os >>>try: f = open('myfile.txt') s = f.readline() i = int(s.strip()) exceptOSErroras err: print("OS error: {0}".format(err)) exceptValueError: print("Could not convert data to an integer.") except: print("Unexpected error:", sys.exc_info()[0]) raise OS error:[Errno2]No such file or directory:'myfile.txt'
三、else子句
try except 語句還有一個可選的else子句,如果使用這個子句,那么必須放在所有的except子句之后。這個子句將在try子句沒有發(fā)生任何異常的時候執(zhí)行。
>>>try: f = open('a.txt','r') exceptIOError: print('cannot open') except: print('other ERR') else: print('file close') f.close() cannot open
使用 else 子句比把所有的語句都放在 try 子句里面要好,這樣可以避免一些意想不到的、而except又沒有捕獲的異常。
四、異常處理try中函數(shù)
異常處理并不僅僅處理那些直接發(fā)生在try子句中的異常,而且還能處理子句中調用的函數(shù)(甚至間接調用的函數(shù))里拋出的異常。
>>>def this_fails(): x =1/0 >>>try: this_fails() exceptZeroDivisionErroras err: print('Handling run-time error:', err) Handling run-time error: division by zero
更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python中Wxpython實現(xiàn)剪切、復制、粘貼和文件打開示例
我們在Python開發(fā)中中,可以使用WxPython庫來創(chuàng)建GUI應用程序,并實現(xiàn)剪切、復制、粘貼和文件打開功能,本文就來介紹一下,感興趣的可以了解一下2024-03-03Pandas之Fillna填充缺失數(shù)據(jù)的方法
這篇文章主要介紹了Pandas之Fillna填充缺失數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06使用urllib庫的urlretrieve()方法下載網絡文件到本地的方法
今天小編就為大家分享一篇使用urllib庫的urlretrieve()方法下載網絡文件到本地的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12python批量實現(xiàn)Word文件轉換為PDF文件
這篇文章主要為大家詳細介紹了python批量實現(xiàn)Word文件轉換為PDF文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03