1. 程式人生 > 其它 >python所有的內建異常型別彙總

python所有的內建異常型別彙總

內建異常基類

在 Python 中,所有異常必須為一個派生自 BaseException 的類的例項。 通過子類化建立的兩個不相關異常類永遠是不等效的,既使它們具有相同的名稱。

下列異常主要被用作其他異常的基類。

BaseException:  所有異常的基類

  • Exception(重點掌握)

    所有內建的非系統退出類異常都派生自此類。 所有使用者自定義異常也應當沒打算自此類。

  • BufferError

    當與 緩衝區 相關的操作無法執行時將被引發。

  • LookupError

    此基類用於派生當對映或序列所使用的鍵或索引無效時引發的異常: IndexErrorKeyError

內建異常的層次結構

BaseException             所有異常的基類         
+-- SystemExit              直譯器請求退出
+-- KeyboardInterrupt         使用者中斷執行(通常是輸入^C)
+-- GeneratorExit            生成器(generator)發生異常來通知退出
+-- Exception  
            常規錯誤的基類
    +-- StopIteration              迭代器沒有更多值
    +-- StopAsyncIteration             必須通過非同步迭代器物件的__anext__()方法引發以停止迭代
    +-- ArithmeticError                 所有數值計算錯誤的基類
    |   +-- FloatingPointError             浮點計算錯誤
    |   +-- OverflowError                 數值運算超出最大限制
    |   +-- ZeroDivisionError             除(或取模)零 (所有資料型別
    +-- AssertionError                 斷言語句失敗
    +-- AttributeError                 物件沒有這個屬性
    +-- BufferError                   與緩衝區相關的操作時引發
    +-- EOFError                       沒有內建輸入,到達EOF 標記
    +-- ImportError                     匯入失敗
    |   +-- ModuleNotFoundError       找不到模組
    +-- LookupError                     無效資料查詢的基類
    |   +-- IndexError                     序列中沒有此索引(index)
    |   +-- KeyError                       對映中沒有這個鍵
    +-- MemoryError                     記憶體溢位錯誤
    +-- NameError                       未宣告、初始化物件
    |   +-- UnboundLocalError             訪問未初始化的本地變數
    +-- OSError                         作業系統錯誤,
    |   +-- BlockingIOError               操作將阻塞物件設定為非阻塞操作
    |   +-- ChildProcessError             子程序上的操作失敗
    |   +-- ConnectionError               與連線相關的異常的基類
    |   |   +-- BrokenPipeError             在已關閉寫入的套接字上寫入
    |   |   +-- ConnectionAbortedError     連線嘗試被對等方中止
    |   |   +-- ConnectionRefusedError     連線嘗試被對等方拒絕
    |   |   +-- ConnectionResetError       連線由對等方重置
    |   +-- FileExistsError               建立已存在的檔案或目錄
    |   +-- FileNotFoundError             請求不存在的檔案或目錄
    |   +-- InterruptedError             系統呼叫被輸入訊號中斷
    |   +-- IsADirectoryError             在目錄上請求檔案操作
    |   +-- NotADirectoryError           在不是目錄的事物上請求目錄操作
    |   +-- PermissionError              在沒有訪問許可權的情況下執行操作
    |   +-- ProcessLookupError           程序不存在
    |   +-- TimeoutError                 系統函式在系統級別超時
    +-- ReferenceError               弱引用試圖訪問已經垃圾回收了的物件
    +-- RuntimeError                 一般的執行時錯誤
    |   +-- NotImplementedError     尚未實現的方法
    |   +-- RecursionError           直譯器檢測到超出最大遞迴深度
    +-- SyntaxError                   Python 語法錯誤
    |   +-- IndentationError         縮排錯誤
    |         +-- TabError          Tab 和空格混用
    +-- SystemError             一般的直譯器系統錯誤
    +-- TypeError               對型別無效的操作
    +-- ValueError              傳入無效的引數
    |   +-- UnicodeError             Unicode 相關的錯誤
    |         +-- UnicodeDecodeError     Unicode 解碼時的錯誤
    |         +-- UnicodeEncodeError     Unicode 編碼時錯誤
    |         +-- UnicodeTranslateError Unicode 轉換時錯誤
    +-- Warning                       警告的基類
          +-- DeprecationWarning         關於被棄用的特徵的警告
          +-- PendingDeprecationWarning   關於構造將來語義會有改變的警告
          +-- RuntimeWarning           可疑的執行行為的警告
          +-- SyntaxWarning            可疑的語法的警告
          +-- UserWarning             使用者程式碼生成的警告
          +-- FutureWarning           有關已棄用功能的警告的基類
          +-- ImportWarning            模組匯入時可能出錯的警告的基類
          +-- UnicodeWarning           與Unicode相關的警告的基類
          +-- BytesWarning             bytes和bytearray相關的警告的基類
          +-- ResourceWarning           與資源使用相關的警告的基類。


轉載自:https://www.cnblogs.com/nmb-musen/,謝謝!!=====

在 Python 中,所有異常必須為一個派生自 BaseException 的類的例項。 通過子類化建立的兩個不相關異常類永遠是不等效的,既使它們具有相同的名稱。

下列異常主要被用作其他異常的基類。

BaseException:  所有異常的基類

  • Exception(重點掌握)

    所有內建的非系統退出類異常都派生自此類。 所有使用者自定義異常也應當沒打算自此類。

  • BufferError

    當與 緩衝區 相關的操作無法執行時將被引發。

  • LookupError

    此基類用於派生當對映或序列所使用的鍵或索引無效時引發的異常: IndexErrorKeyError

內建異常的層次結構

BaseException             所有異常的基類         
+-- SystemExit              直譯器請求退出
+-- KeyboardInterrupt         使用者中斷執行(通常是輸入^C)
+-- GeneratorExit            生成器(generator)發生異常來通知退出
+-- Exception               常規錯誤的基類
    +-- StopIteration              迭代器沒有更多值
    +-- StopAsyncIteration             必須通過非同步迭代器物件的__anext__()方法引發以停止迭代
    +-- ArithmeticError                 所有數值計算錯誤的基類
    |   +-- FloatingPointError             浮點計算錯誤
    |   +-- OverflowError                 數值運算超出最大限制
    |   +-- ZeroDivisionError             除(或取模)零 (所有資料型別
    +-- AssertionError                 斷言語句失敗
    +-- AttributeError                 物件沒有這個屬性
    +-- BufferError                   與緩衝區相關的操作時引發
    +-- EOFError                       沒有內建輸入,到達EOF 標記
    +-- ImportError                     匯入失敗
    |   +-- ModuleNotFoundError       找不到模組
    +-- LookupError                     無效資料查詢的基類
    |   +-- IndexError                     序列中沒有此索引(index)
    |   +-- KeyError                       對映中沒有這個鍵
    +-- MemoryError                     記憶體溢位錯誤
    +-- NameError                       未宣告、初始化物件
    |   +-- UnboundLocalError             訪問未初始化的本地變數
    +-- OSError                         作業系統錯誤,
    |   +-- BlockingIOError               操作將阻塞物件設定為非阻塞操作
    |   +-- ChildProcessError             子程序上的操作失敗
    |   +-- ConnectionError               與連線相關的異常的基類
    |   |   +-- BrokenPipeError             在已關閉寫入的套接字上寫入
    |   |   +-- ConnectionAbortedError     連線嘗試被對等方中止
    |   |   +-- ConnectionRefusedError     連線嘗試被對等方拒絕
    |   |   +-- ConnectionResetError       連線由對等方重置
    |   +-- FileExistsError               建立已存在的檔案或目錄
    |   +-- FileNotFoundError             請求不存在的檔案或目錄
    |   +-- InterruptedError             系統呼叫被輸入訊號中斷
    |   +-- IsADirectoryError             在目錄上請求檔案操作
    |   +-- NotADirectoryError           在不是目錄的事物上請求目錄操作
    |   +-- PermissionError              在沒有訪問許可權的情況下執行操作
    |   +-- ProcessLookupError           程序不存在
    |   +-- TimeoutError                 系統函式在系統級別超時
    +-- ReferenceError               弱引用試圖訪問已經垃圾回收了的物件
    +-- RuntimeError                 一般的執行時錯誤
    |   +-- NotImplementedError     尚未實現的方法
    |   +-- RecursionError           直譯器檢測到超出最大遞迴深度
    +-- SyntaxError                   Python 語法錯誤
    |   +-- IndentationError         縮排錯誤
    |         +-- TabError          Tab 和空格混用
    +-- SystemError             一般的直譯器系統錯誤
    +-- TypeError               對型別無效的操作
    +-- ValueError              傳入無效的引數
    |   +-- UnicodeError             Unicode 相關的錯誤
    |         +-- UnicodeDecodeError     Unicode 解碼時的錯誤
    |         +-- UnicodeEncodeError     Unicode 編碼時錯誤
    |         +-- UnicodeTranslateError Unicode 轉換時錯誤
    +-- Warning                       警告的基類
          +-- DeprecationWarning         關於被棄用的特徵的警告
          +-- PendingDeprecationWarning   關於構造將來語義會有改變的警告
          +-- RuntimeWarning           可疑的執行行為的警告
          +-- SyntaxWarning            可疑的語法的警告
          +-- UserWarning             使用者程式碼生成的警告
          +-- FutureWarning           有關已棄用功能的警告的基類
          +-- ImportWarning            模組匯入時可能出錯的警告的基類
          +-- UnicodeWarning           與Unicode相關的警告的基類
          +-- BytesWarning             bytes和bytearray相關的警告的基類
          +-- ResourceWarning           與資源使用相關的警告的基類。


轉載自:https://www.cnblogs.com/nmb-musen/,謝謝!!=====