error(錯誤)是系統中的錯誤,程式設計師是不能改變的和處理的,如系統崩潰,記憶體空間不足,方法呼叫棧溢等。遇到這樣的錯誤,建議讓程式終止
exception(異常)表示程式可以處理的異常,可以捕獲且可能恢復。遇到這類異常,應該盡可能處理異常,使程式恢復執行,而不應該隨意終止異常
常見的異常:
attributeerror(屬性錯誤) 、ioerror(輸入輸出錯誤) 、importerror (匯入模組錯誤)、indexerror(索引錯誤)、syntaxerror(語法錯誤)、typeerror(型別錯誤)、valueerror、keyerror(字典錯誤)、nameerrorindentationerror(縮排錯誤)、keyboardinterrupt: (ctrl+c被按下)、unboundlocalerror(有同名的全域性變數)
# print(a) # nameerror
# print(10/0) # zerodivsionerror
# d =
# print(d['age']) # keyerror
# with open('hello.txt') as f: # filenotfounderror
# pass
# indentationerror:縮排錯誤
# a=b=18
# if a>b:
# print('錯誤')
# else:
# print('正確')
官方文件
"""
python 的異常機制主要依賴 try 、except 、else、finally 和 raise 五個關鍵字。
try 關鍵字後縮排的**塊簡稱 try 塊,它裡面放置的是可能引發異常的**;
except 關鍵字對應異常型別和處理該異常的**塊;
多個 except 塊之後可以放乙個 else 塊,表明程式不出現異常時還要執行 else 塊;
finally 塊用於**在 try 塊裡開啟的物理資源,異常機制會保證 finally 塊總被執行;
raise 用於引發乙個實際的異常,raise 可以單獨作為語句使用,引發乙個具體的異常物件
""""""
異常處理機制:
else:沒有異常時,執行的內容
finally: 總會執行的內容
"""try
: a =
1print
(b)except nameerror as e:
print
('0-name error'
)except keyerror:
print
('4-key error'
)except exception as e:
print
('1-exception'
)else
:print
('2-no error'
)finally
:print
('3-run code'
)# 0-name error
# 3-run code
age =
int(
input
('age:'))
if0150:
print
(age)
else
:# 丟擲異常
raise valueerror(
"年齡必須在0~150之間"
# 自定義的異常
class
ageerror
(valueerror)
:pass
age =
int(
input
('age:'))
if0150:
print
(age)
else
:# 丟擲異常
raise ageerror(
"年齡必須在0~150之間"
)
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python異常舉例 Python異常處理
1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...
python異常處理
當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...