Python內(nèi)置異常類型全面匯總
內(nèi)置異?;?/strong>
在 Python 中,所有異常必須為一個(gè)派生自 BaseException 的類的實(shí)例。 通過子類化創(chuàng)建的兩個(gè)不相關(guān)異常類永遠(yuǎn)是不等效的,既使它們具有相同的名稱。
下列異常主要被用作其他異常的基類。
BaseException: 所有異常的基類
Exception(重點(diǎn)掌握)
所有內(nèi)置的非系統(tǒng)退出類異常都派生自此類。 所有用戶自定義異常也應(yīng)當(dāng)沒打算自此類。
ArithmeticError
此基類用于派生針對(duì)各種算術(shù)類錯(cuò)誤而引發(fā)的內(nèi)置異常: OverflowError, ZeroDivisionError, FloatingPointError。
BufferError
當(dāng)與 緩沖區(qū) 相關(guān)的操作無法執(zhí)行時(shí)將被引發(fā)。
LookupError
此基類用于派生當(dāng)映射或序列所使用的鍵或索引無效時(shí)引發(fā)的異常: IndexError, KeyError
內(nèi)置異常的層次結(jié)構(gòu)
BaseException 所有異常的基類
+-- SystemExit 解釋器請(qǐng)求退出
+-- KeyboardInterrupt 用戶中斷執(zhí)行(通常是輸入^C)
+-- GeneratorExit 生成器(generator)發(fā)生異常來通知退出
+-- Exception 常規(guī)錯(cuò)誤的基類
+-- StopIteration 迭代器沒有更多值
+-- StopAsyncIteration 必須通過異步迭代器對(duì)象的__anext__()方法引發(fā)以停止迭代
+-- ArithmeticError 所有數(shù)值計(jì)算錯(cuò)誤的基類
| +-- FloatingPointError 浮點(diǎn)計(jì)算錯(cuò)誤
| +-- OverflowError 數(shù)值運(yùn)算超出最大限制
| +-- ZeroDivisionError 除(或取模)零 (所有數(shù)據(jù)類型
+-- AssertionError 斷言語句失敗
+-- AttributeError 對(duì)象沒有這個(gè)屬性
+-- BufferError 與緩沖區(qū)相關(guān)的操作時(shí)引發(fā)
+-- EOFError 沒有內(nèi)建輸入,到達(dá)EOF 標(biāo)記
+-- ImportError 導(dǎo)入失敗
| +-- ModuleNotFoundError 找不到模塊
+-- LookupError 無效數(shù)據(jù)查詢的基類
| +-- IndexError 序列中沒有此索引(index)
| +-- KeyError 映射中沒有這個(gè)鍵
+-- MemoryError 內(nèi)存溢出錯(cuò)誤
+-- NameError 未聲明、初始化對(duì)象
| +-- UnboundLocalError 訪問未初始化的本地變量
+-- 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 在沒有訪問權(quán)限的情況下運(yùn)行操作
| +-- ProcessLookupError 進(jìn)程不存在
| +-- TimeoutError 系統(tǒng)函數(shù)在系統(tǒng)級(jí)別超時(shí)
+-- ReferenceError 弱引用試圖訪問已經(jīng)垃圾回收了的對(duì)象
+-- RuntimeError 一般的運(yùn)行時(shí)錯(cuò)誤
| +-- NotImplementedError 尚未實(shí)現(xiàn)的方法
| +-- RecursionError 解釋器檢測(cè)到超出最大遞歸深度
+-- SyntaxError Python 語法錯(cuò)誤
| +-- IndentationError 縮進(jìn)錯(cuò)誤
| +-- TabError Tab 和空格混用
+-- SystemError 一般的解釋器系統(tǒng)錯(cuò)誤
+-- TypeError 對(duì)類型無效的操作
+-- ValueError 傳入無效的參數(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)造將來語義會(huì)有改變的警告
+-- RuntimeWarning 可疑的運(yùn)行行為的警告
+-- SyntaxWarning 可疑的語法的警告
+-- 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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python數(shù)據(jù)模型與Python對(duì)象模型的相關(guān)總結(jié)
這篇文章主要介紹了Python數(shù)據(jù)模型與Python對(duì)象模型的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2021-01-01
TensorFlow深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN
這篇文章主要介紹了TensorFlow深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN2018-03-03
Python銀行系統(tǒng)實(shí)戰(zhàn)源碼
這篇文章主要為大家詳細(xì)介紹了Python銀行系統(tǒng)實(shí)戰(zhàn)源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例
在學(xué)習(xí)人工智能時(shí),大量的使用了np.random.seed(),利用隨機(jī)數(shù)種子,使得每次生成的隨機(jī)數(shù)相同,下面這篇文章主要給大家介紹了關(guān)于Python?numpy中np.random.seed()的詳細(xì)用法,需要的朋友可以參考下2022-08-08
關(guān)于Qt6中QtMultimedia多媒體模塊的重大改變分析
如果您一直在 Qt 5 中使用 Qt Multimedia,則需要對(duì)您的實(shí)現(xiàn)進(jìn)行更改。這篇博文將嘗試引導(dǎo)您完成最大的變化,同時(shí)查看 API 和內(nèi)部結(jié)構(gòu)2021-09-09
Python語法糖for?else循環(huán)語句里的break使用詳解
這篇文章主要介紹了Python語法糖之for?else循環(huán)語句里的break使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Python常見內(nèi)置高階函數(shù)即高階函數(shù)用法
這篇文章主要介紹了Python的三種高階函數(shù)map、filter、reduce,高階函數(shù)就是一個(gè)函數(shù)可以作為參數(shù)傳給另外一個(gè)函數(shù),或者一個(gè)函數(shù)的返回值為另外一個(gè)函數(shù)(若返回值為該函數(shù)本身,則為遞歸),滿足其一則為高階函數(shù),具體內(nèi)容,需要的朋友可以參考下面文章的介紹2021-12-12

