Python內(nèi)置異常類型全面匯總
內(nèi)置異常基類
在 Python 中,所有異常必須為一個(gè)派生自 BaseException 的類的實(shí)例。 通過(guò)子類化創(chuàng)建的兩個(gè)不相關(guān)異常類永遠(yuǎn)是不等效的,既使它們具有相同的名稱。
下列異常主要被用作其他異常的基類。
BaseException: 所有異常的基類
Exception(重點(diǎn)掌握)
所有內(nèi)置的非系統(tǒng)退出類異常都派生自此類。 所有用戶自定義異常也應(yīng)當(dāng)沒(méi)打算自此類。
ArithmeticError
此基類用于派生針對(duì)各種算術(shù)類錯(cuò)誤而引發(fā)的內(nèi)置異常: OverflowError, ZeroDivisionError, FloatingPointError。
BufferError
當(dāng)與 緩沖區(qū) 相關(guān)的操作無(wú)法執(zhí)行時(shí)將被引發(fā)。
LookupError
此基類用于派生當(dāng)映射或序列所使用的鍵或索引無(wú)效時(shí)引發(fā)的異常: IndexError, KeyError
內(nèi)置異常的層次結(jié)構(gòu)
BaseException 所有異常的基類 +-- SystemExit 解釋器請(qǐng)求退出 +-- KeyboardInterrupt 用戶中斷執(zhí)行(通常是輸入^C) +-- GeneratorExit 生成器(generator)發(fā)生異常來(lái)通知退出 +-- Exception常規(guī)錯(cuò)誤的基類 +-- StopIteration 迭代器沒(méi)有更多值 +-- StopAsyncIteration 必須通過(guò)異步迭代器對(duì)象的__anext__()方法引發(fā)以停止迭代 +-- ArithmeticError 所有數(shù)值計(jì)算錯(cuò)誤的基類 | +-- FloatingPointError 浮點(diǎn)計(jì)算錯(cuò)誤 | +-- OverflowError 數(shù)值運(yùn)算超出最大限制 | +-- ZeroDivisionError 除(或取模)零 (所有數(shù)據(jù)類型 +-- AssertionError 斷言語(yǔ)句失敗 +-- AttributeError 對(duì)象沒(méi)有這個(gè)屬性 +-- BufferError 與緩沖區(qū)相關(guān)的操作時(shí)引發(fā) +-- EOFError 沒(méi)有內(nèi)建輸入,到達(dá)EOF 標(biāo)記 +-- ImportError 導(dǎo)入失敗 | +-- ModuleNotFoundError 找不到模塊 +-- LookupError 無(wú)效數(shù)據(jù)查詢的基類 | +-- IndexError 序列中沒(méi)有此索引(index) | +-- KeyError 映射中沒(méi)有這個(gè)鍵 +-- MemoryError 內(nèi)存溢出錯(cuò)誤 +-- NameError 未聲明、初始化對(duì)象 | +-- UnboundLocalError 訪問(wèn)未初始化的本地變量 +-- OSError 操作系統(tǒng)錯(cuò)誤, | +-- BlockingIOError操作將阻塞對(duì)象設(shè)置為非阻塞操作 | +-- ChildProcessError 子進(jìn)程上的操作失敗 | +-- ConnectionError與連接相關(guān)的異常的基類 | | +-- BrokenPipeError 在已關(guān)閉寫入的套接字上寫入 | | +-- ConnectionAbortedError 連接嘗試被對(duì)等方中止 | | +-- ConnectionRefusedError 連接嘗試被對(duì)等方拒絕 | | +-- ConnectionResetError 連接由對(duì)等方重置 | +-- FileExistsError創(chuàng)建已存在的文件或目錄 | +-- FileNotFoundError 請(qǐng)求不存在的文件或目錄 | +-- InterruptedError 系統(tǒng)調(diào)用被輸入信號(hào)中斷 | +-- IsADirectoryError 在目錄上請(qǐng)求文件操作 | +-- NotADirectoryError 在不是目錄的事物上請(qǐng)求目錄操作 | +-- PermissionError 在沒(méi)有訪問(wèn)權(quán)限的情況下運(yùn)行操作 | +-- ProcessLookupError 進(jìn)程不存在 | +-- TimeoutError 系統(tǒng)函數(shù)在系統(tǒng)級(jí)別超時(shí) +-- ReferenceError弱引用試圖訪問(wèn)已經(jīng)垃圾回收了的對(duì)象 +-- RuntimeError 一般的運(yùn)行時(shí)錯(cuò)誤 | +-- NotImplementedError 尚未實(shí)現(xiàn)的方法 | +-- RecursionError 解釋器檢測(cè)到超出最大遞歸深度 +-- SyntaxError Python 語(yǔ)法錯(cuò)誤 | +-- IndentationError 縮進(jìn)錯(cuò)誤 | +-- TabError Tab 和空格混用 +-- SystemError 一般的解釋器系統(tǒng)錯(cuò)誤 +-- TypeError對(duì)類型無(wú)效的操作 +-- ValueError 傳入無(wú)效的參數(shù) | +-- UnicodeError Unicode 相關(guān)的錯(cuò)誤 | +-- UnicodeDecodeError Unicode 解碼時(shí)的錯(cuò)誤 | +-- UnicodeEncodeError Unicode 編碼時(shí)錯(cuò)誤 | +-- UnicodeTranslateError Unicode 轉(zhuǎn)換時(shí)錯(cuò)誤 +-- Warning 警告的基類 +-- DeprecationWarning 關(guān)于被棄用的特征的警告 +-- PendingDeprecationWarning 關(guān)于構(gòu)造將來(lái)語(yǔ)義會(huì)有改變的警告 +-- RuntimeWarning 可疑的運(yùn)行行為的警告 +-- SyntaxWarning 可疑的語(yǔ)法的警告 +-- UserWarning 用戶代碼生成的警告 +-- FutureWarning 有關(guān)已棄用功能的警告的基類 +-- ImportWarning 模塊導(dǎo)入時(shí)可能出錯(cuò)的警告的基類 +-- UnicodeWarning 與Unicode相關(guān)的警告的基類 +-- BytesWarning bytes和bytearray相關(guān)的警告的基類 +-- ResourceWarning 與資源使用相關(guān)的警告的基類
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解瀏覽器的緩存機(jī)制2. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題3. IntelliJ IDEA配置Tomcat服務(wù)器的方法4. idea重置默認(rèn)配置的方法步驟5. Ajax請(qǐng)求超時(shí)與網(wǎng)絡(luò)異常處理圖文詳解6. 使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境7. HTML <!DOCTYPE> 標(biāo)簽8. 表單中Readonly和Disabled的區(qū)別詳解9. smarty3.0以上配置 Smarty模板引擎10. Java多線程Callable和Future接口區(qū)別
