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...