1、錯誤類型
ERROR異常:系統種的錯誤,發生的原因可能是系統崩潰,內存空間不足,建議讓程序終止
Exception異常:錶示程序可以處理的異常,可以捕獲且可能恢複。這類問題可以處理。
2、錯誤提醒
可能的錯誤:
AttributeError .lOError . ImportError . IndexError、SyntaxError、TypeError、ValueError、KeyError、NameError。
常見的錯誤如下:
. IndentationError:縮進錯誤
. KeyboardInterrupt: Ctrl+C被按下
. UnboundLocalError :有同名的全局變量
3、舉例
1、print(a)
NameError 名字錯誤,沒有這個參數
2、print(10/0)
ZeroDivisionError: division by zero 除數不能為0
3、with open('hello.txt') as f:
pass
FileNotFoundError 文件錯誤,沒有這個文件
try:嘗試去運行的程序
except:try出問題了運行的代碼(可以出現多個)
else:try沒有問題運行的程序
finally:無論什麼情況都會運行的代碼
舉例
execpt是進行多選一的
try: 嘗試運行
a=1
print(b)
except NameError as name_error: 如果名字錯誤則
print('name_error')
except KeyError as key_error: 如果關鍵字錯誤則
print('key_error')
except Exception as all_error: 如果有錯誤則
print('all_error')
finally: 最後統一執行
print('結束')
1、raise拋出異常
age = int(input('age:'))
if 0<age<150:
print(age)
else:
# 拋出異常
raise ValueError("年齡必須在0~150之間")
#結果
輸入100
ValueError: 年齡必須在0~150之間
2、自定義異常
通過自定義異常
# 自定義的異常
class AgeError(ValueError): 自定義錯誤模塊:AgeError,其屬於ValueError類
pass
age = int(input('age:'))
if 0<age<150:
print(age)
else:
# 拋出異常
raise AgeError("年齡必須在0~150之間")
#結果
輸入1000
AgeError: 年齡必須在0~150之間
``