python標(biāo)準(zhǔn)異常
- BaseException 所有異常的基類
- SystemExit 解釋器請(qǐng)求退出
- Keyboardlnterrupt 用戶中斷執(zhí)行(通常是輸入^C)
- Exception 常規(guī)錯(cuò)誤的基類
- Stoplteration 迭代器沒(méi)有更多的值
- GeneratorExit 生成器(generator)發(fā)生異常來(lái)通知退出
- StandardError 所有內(nèi)建標(biāo)準(zhǔn)異常的基類
- ArithmeticError 所有數(shù)值計(jì)算錯(cuò)誤的基類
- FloatingPointError 浮點(diǎn)計(jì)算錯(cuò)誤
- OverflowError 數(shù)值運(yùn)算超過(guò)最大的限制
- AssertionError 斷言語(yǔ)句失敗
- AttrbuteError 對(duì)象沒(méi)有這個(gè)屬性
- EOFError 沒(méi)有內(nèi)建輸入恃轩,到達(dá)EOF標(biāo)記
- IOError 輸入/ 輸出錯(cuò)誤
- OSError操作系統(tǒng)錯(cuò)誤
- WIndowsError 系統(tǒng)調(diào)用失敗
- ImportError 導(dǎo)入模塊/對(duì)象失敗
- LookupError 無(wú)效數(shù)據(jù)查詢的基類
- IndexError 序列沒(méi)有索引
- keyError 映射中沒(méi)有這個(gè)鍵
- MemoryError 內(nèi)存溢出錯(cuò)誤
- NameError 未聲明/ 初始化對(duì)象(沒(méi)有屬性)
- UnboundLocalError 訪問(wèn)未初始化的本地變量
- ReferenceError 弱引用(Weak reference)試圖訪問(wèn)已經(jīng)垃圾回收了的對(duì)象
- RuntimeError 一般的運(yùn)行錯(cuò)誤
- NotImplementdeError 尚未實(shí)現(xiàn)的方法
- SynataxErrorPython 語(yǔ)法錯(cuò)誤
- IndentationError 縮進(jìn)錯(cuò)誤
- TabErrporTab 和空格混用
- SystemError 一般解釋器系統(tǒng)錯(cuò)誤
- TypeError 對(duì)類型無(wú)效的操作
- ValueError 傳入無(wú)效的參數(shù)
- AttributeError:屬性錯(cuò)誤
- UnicodeErrorUnicode 相關(guān)的錯(cuò)誤
- UnicodeDecodeErrorUnicode 解碼時(shí)的錯(cuò)誤
- UnicodeEncodeErrorUnicode 編碼時(shí)的錯(cuò)誤
- UnicodeTranslateErrorUnicode 轉(zhuǎn)換時(shí)錯(cuò)誤
異常處理
捕捉異常
捕捉所有異常(try/ execpt)語(yǔ)句
try:
c = int(input("請(qǐng)輸入整數(shù)選項(xiàng):"))
print("用戶輸入了:%d" % c) # 處理異常
except:
print("出現(xiàn)了異常程拭,用戶輸入了非法數(shù)據(jù)")
else:
printr("如果沒(méi)有異常執(zhí)行這塊代碼)
通過(guò)try捕捉可能出現(xiàn)的異常,如果出現(xiàn)異常~并不讓程序直接崩潰退出蜈膨,而是執(zhí)行except中的代碼塊來(lái)處理出現(xiàn)的異常
上述代碼中,可以通過(guò)except處理在try代碼塊中出現(xiàn)的任意異常
捕捉異常(try / finally)
try:
xc = open(“ssss”萍启,“p”)
try:
xc.write("這是一個(gè)用于測(cè)試異常的文件“)
finally:
print(”關(guān)閉文件“)
xc.close()
except:
print("錯(cuò)誤信息:”)
給異常信息定義別名(as 關(guān)鍵詞)
try:
c = int(input("請(qǐng)輸入整數(shù)選項(xiàng):"))
print("用戶輸入了:%d" % c)
# 處理指定的異常并獲取異常信息
except ValueError as e:
print("出現(xiàn)了異常女揭,用戶輸入了非法數(shù)據(jù)", e)
上述代碼中,在except中指定了處理的異常信息趴腋,并且通過(guò)as別名的方式將異常信息保存在了一個(gè)變量e中吊说,后續(xù)可以通過(guò)變量e打印出現(xiàn)的異常信息