異常即是乙個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在python無法正常處理程式時就會發生乙個異常。
異常是python物件,表示乙個錯誤。當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。
舉個例子:
num =
eval
(input
("please input a number: "))
print
(num**
2)
當輸入為乙個數字時:
>>
>
please input a number:
10010000
當輸入位字串時:
please input a number: no
traceback (most recent call last)
: file ""
, line 1,in
file ""
, line 1,in
nameerror: name 'no'
isnot defined
>>
>
此時python發生了異常,直譯器返回異常資訊,並退出程式。在異常資訊中,traceback
為回溯標記,nameerror
為異常型別,是最重要的部分,:後緊跟著的是異常內容提醒。
名稱描述
importerror
匯入模組/物件失敗
nameerror
未宣告/初始化物件 (沒有屬性)
syntaxerror python
語法錯誤
indentationerror
縮排錯誤
taberror
tab 和空格混用
systemerror
一般的直譯器系統錯誤
typeerror
對型別無效的操作
valueerror
傳入無效的引數
unicodeerror unicode
相關的錯誤
floatingpointerror
浮點計算錯誤
overflowerror
數值運算超出最大限制
zerodivisionerror
除(或取模)零 (所有資料型別)
eoferror
沒有內建輸入,到達eof 標記
environmenterror
作業系統錯誤的基類
ioerror
輸入/輸出操作失敗
基本語法格式:
try
: num =
eval
(input
("please input a number: "))
print
(num**2)
except nameerror:
print
("input error!! please input another number! "
)
再次輸入no得到如下結果:
please input a number: no
input error!! please input another number!
try:
《語句塊1>
except 《異常型別1>:
《語句塊2>
...except 《異常型別n>:
《語句塊n>
except 《異常型別n+1>:
《語句塊n+1>
try:
《語句塊1>
except 《異常型別1>:
《語句塊2>
else:
《語句塊3>
finally:
《語句塊4>
else:當try中語句塊1正常執行結束其沒有異常時執行,可以看作是對try語句塊正常執行後的一種追加處理。
finally:總會執行,可以將語句塊1的一些收尾工作放在這裡,例如關閉檔案等。
異常和錯誤是兩個相似但不同的概念,二者哦度可能引起程式執行錯誤推出,屬於程式沒有考慮到的例外情況。然而,絕大多數不可控因素是可以預見的,這種可以預見的例外情況稱為「異常」(checked expection),發生後經過妥善處理可以繼續執行。
另一些因為邏輯產生的不可與賤的例外情況稱為「錯誤」(unchecked exception),錯誤發生後程式無法恢復執行。
Python異常處理 程式除錯
1 異常處理語句 1.1 try.except.else 說明 1 把可能產生的異常 放在try語句塊中,把處理結果放在except語句塊中。2 這樣,當try語句塊中的 出現錯誤時。就會執行except語句塊中的 3 如果try語句塊的 沒有錯誤,那麼except語句塊不會執行。語法格式 try ...
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
Python程式的分支結構 異常處理
1 單分支結構 根據判斷條件結果而選擇不同向前路徑的執行方式 if 條件 語句塊 2 二分支結構 if true print 語句塊1 else print 語句塊2 緊湊形式 適用於簡單表示式的二分支結構 表示式1 if 條件 else 表示式2 guess eval input print 猜 ...