Python中except用法和作用

2021-09-26 15:05:04 字數 1410 閱讀 9287

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是通用異常型別

python異常except語句用法與引發異常

話說用python這麼久了,居然沒搞明白except的用法,太不給力了。except 捕獲所有異常 except 異常名 捕獲指定異常 except 異常名1,異常名2 捕獲異常1或者異常2 except 異常名 資料 捕獲指定異常及其附加的資料 except 異常名1,異常名2 資料 捕獲異常名1...

python中try及except使用

如下 try x she said surely.print x except exception print the wrong syntax.執行結果如下 a syntaxerror invalid syntax查了很多資料,了解到,異常的定義是 即使一條語句或表示式在語法上是正確的,當試圖執行...

python 追蹤except資訊

看下面這個函式 def test sum 3 0 if name main test 除0肯定是不對的,會引發乙個except,內容如下 file e src dongsheng testpython testtrace back.py line 23,in test file e src dong...