最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python異常處理操作實(shí)例詳解

 更新時(shí)間:2018年05月10日 10:07:55   作者:chengqiuming  
這篇文章主要介紹了Python異常處理操作,結(jié)合實(shí)例形式分析了Python異常處理的相關(guān)原理、操作語句與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了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子句(在關(guān)鍵字try和關(guān)鍵字except之間的語句)

2、如果沒有異常發(fā)生,忽略except子句,try子句執(zhí)行后結(jié)束。

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

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

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

6、處理程序?qū)⒅会槍?duì)對(duì)應(yīng)的try子句中的異常進(jìn)行處理。

7、一個(gè)except子句可以同時(shí)處理多個(gè)異常,這些異常將被放在一個(gè)括號(hào)里成為一個(gè)元組,例如:

except (RuntimeError, TypeError, NameError):
    pass

8、最后一個(gè)except子句可以忽略異常的名稱,它將被當(dāng)作通配符使用。你可以使用這種方法打印一個(gè)錯(cuò)誤信息,然后再次把異常拋出。

>>>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 語句還有一個(gè)可選的else子句,如果使用這個(gè)子句,那么必須放在所有的except子句之后。這個(gè)子句將在try子句沒有發(fā)生任何異常的時(shí)候執(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子句中的異常,而且還能處理子句中調(diào)用的函數(shù)(甚至間接調(diào)用的函數(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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

昌平区| 富民县| 会泽县| 日喀则市| 富川| 黄骅市| 吴江市| 安远县| 文安县| 土默特右旗| 连城县| 和顺县| 滨州市| 通山县| 涟水县| 沙湾县| 汽车| 防城港市| 宜黄县| 高安市| 柘城县| 灌云县| 胶南市| 志丹县| 晋中市| 贵阳市| 东兴市| 石家庄市| 哈尔滨市| 唐海县| 盐津县| 邯郸县| 定安县| 华亭县| 太康县| 葵青区| 望谟县| 增城市| 洪泽县| 高密市| 获嘉县|