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

首頁 > 編程 > Python > 正文

Python 異常處理實例詳解

2020-02-23 05:14:08
字體:
來源:轉載
供稿:網(wǎng)友

一、什么是異常?
異常即是一個事件,該事件會在程序執(zhí)行過程中發(fā)生,影響了程序的正常執(zhí)行。
一般情況下,在Python無法正常處理程序時就會發(fā)生一個異常。
異常是Python對象,表示一個錯誤。
當Python腳本發(fā)生異常時我們需要捕獲處理它,否則程序會終止執(zhí)行。
二、異常處理
捕捉異常可以使用try/except語句。
try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息并處理。
如果你不想在異常發(fā)生時結束你的程序,只需在try里捕獲它。

異常語法:
以下為簡單的try....except...else的語法:
代碼如下:try:
<語句>        #運行別的代碼
except <名字>:
<語句>        #如果在try部份引發(fā)了'name'異常
except <名字>,<數(shù)據(jù)>:
<語句>        #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù)
else:
<語句>        #如果沒有異常發(fā)生
try的工作原理是,當開始一個try語句后,python就在當前程序的上下文中作標記,這樣當異常出現(xiàn)時就可以回到這里,try子句先執(zhí)行,接下來會發(fā)生什么依賴于執(zhí)行時是否出現(xiàn)異常。

如果當try后的語句執(zhí)行時發(fā)生異常,python就跳回到try并執(zhí)行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發(fā)新的異常)。
如果在try后的語句里發(fā)生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,并打印缺省的出錯信息)。
如果在try子句執(zhí)行時沒有發(fā)生異常,python將執(zhí)行else語句后的語句(如果有else的話),然后控制流通過整個try語句。

異常處理實例1:
下面是簡單的例子,它打開一個文件,在該文件中的內(nèi)容寫入內(nèi)容,且并未發(fā)生異常:
代碼如下:#!/usr/bin/python

try:
   fh = open("testfile", "w")
   fh.write("This is my test file for exception handling!!")
except IOError:
   print "Error: can/'t find file or read data"
else:
   print "Written content in the file successfully"
   fh.close()
以上程序輸出結果:
代碼如下:Written content in the file successfully
異常處理實例2:
下面是簡單的例子,它打開一個文件,在該文件中的內(nèi)容寫入內(nèi)容,但文件沒有寫入權限,發(fā)生了異常:
代碼如下:#!/usr/bin/python

try:
   fh = open("testfile", "w")
   fh.write("This is my test file for exception handling!!")
except IOError:
   print "Error: can/'t find file or read data"
else:
   print "Written content in the file successfully"

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲阜市| 镇远县| 凤凰县| 余江县| 扎兰屯市| 恩平市| 泽州县| 山东省| 和田县| 湘西| 临颍县| 左贡县| 湖北省| 平和县| 集贤县| 陵水| 瑞昌市| 繁峙县| 海南省| 双辽市| 荥经县| 宝清县| 双峰县| 怀集县| 邢台市| 万安县| 临高县| 宝兴县| 万州区| 尼木县| 香格里拉县| 望谟县| 大新县| 黎川县| 宁阳县| 同德县| 稻城县| 苏尼特左旗| 石景山区| 八宿县| 丰台区|