国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python異常處理操作實例詳解

2020-01-04 15:07:44
字體:
來源:轉載
供稿:網友

本文實例講述了Python異常處理操作。分享給大家供大家參考,具體如下:

一、異常處理的引入

>>>whileTrue:try:x = int(input("Please enter a number: "))breakexceptValueError:print("Oops! That was no valid number. Try again ")Please enter a number: yOops!That was no valid number.Try againPlease enter a number:1.3Oops!That was no valid number.Try againPlease enter a number:5

二、try語句工作方式

1、執行try子句(在關鍵字try和關鍵字except之間的語句)

2、如果沒有異常發生,忽略except子句,try子句執行后結束。

3、如果在執行try子句的過程中發生了異常,那么try子句余下的部分將被忽略。如果異常的類型和 except 之后的名稱相符,那么對應的except子句將被執行。最后執行 try 語句之后的代碼。

4、如果一個異常沒有與任何的except匹配,那么這個異常將會傳遞給上層的try中。

5、一個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有一個分支會被執行。

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])raiseOS error:[Errno2]No such file or directory:'myfile.txt'

三、else子句

try except 語句還有一個可選的else子句,如果使用這個子句,那么必須放在所有的except子句之后。這個子句將在try子句沒有發生任何異常的時候執行。

>>>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中函數

異常處理并不僅僅處理那些直接發生在try子句中的異常,而且還能處理子句中調用的函數(甚至間接調用的函數)里拋出的異常。

>>>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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛教| 宜宾县| 华坪县| 化隆| 宜丰县| 同江市| 上林县| 隆德县| 昌吉市| 雅安市| 滦平县| 玛曲县| 克拉玛依市| 项城市| 图们市| 黑河市| 长泰县| 延边| 鹤岗市| 中方县| 太白县| 泾川县| 陇西县| 巴南区| 安塞县| 和平县| 松滋市| 滨州市| 万安县| 淄博市| 庆元县| 隆尧县| 邵阳县| 苏尼特右旗| 昭通市| 方山县| 齐河县| 雅江县| 晴隆县| 贺州市| 衡南县|