Python中except用法和作用

Python的except用來捕獲所有異常, 因爲Python裏面的每次錯誤都會拋出 一個異常,所以每個程序的錯誤都被當作一個運行時錯誤。

以下是使用except的一個例子:

try:

foo = opne(”file”) #open被錯寫爲opne

except:

sys.exit(”could not open file!”)

因爲這個錯誤是由於open被拼寫成opne而造成的,然後被except捕獲,所以debug程序的時候很容易不知道出了什麼問題。

下面這個例子更好點:

try:

foo = opne(”file”) # 這時候except只捕獲IOError

except IOError:

sys.exit(”could not open file”)

except: #捕獲所有異常

except: <異常名>: #捕獲指定異常

except:<異常名1,異常名2):捕獲異常1或者異常2

except:<異常名>,<數據>:捕獲指定異常及其附加的數據

except:<異常名1,異常名2>:<數據>:捕獲異常名1或者異常名2,及附加的數據庫

 

常用異常名:

異常名    描述

AttributeError 調用不存在的方法引發的異常

EOFError     遇到文件末尾引發的異常

ImportError 導入模塊出錯引發的異常

IndexError     列表越界引發的異常

IOError     I/O操作引發的異常,如打開文件出錯等

KeyError   使用字典中不存在的關鍵字引發的異常

NameError 使用不存在的變量名引發的異常

TabError 語句塊縮進不正確引發的異常

ValueError 搜索列表中不存在的值引發的異常

ZeroDivisionError   除數爲零引發的異常

使用raise 引發異常幾種方式:

raise 異常名

raise 異常名,附加數據

raise 類名

assert 簡化了raise語句:

需要注意的是,assert語句一般用於開發時對程序條件的驗證,只有當內置_debug_爲True時,assert語句纔有效。當Python腳本以-O選項編譯成爲字節碼文件時,assert 語句將被移除。

但與raise語句不同的是,assert語句是在條件測試爲假時,才引發異常。assert語言的一般形式如下:

assert <條件測試>,<異常附加數據> #其中異常附加數據是可選的

python編程_Python異常機制try: 代碼段 except 異常類型,e: 異常處理代碼段,如果不知道異常類型,可以使用try: 代碼段 except Except,e:異常處理代碼段;Except是通用異常類型

發佈了70 篇原創文章 · 獲贊 57 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章