Python中常見的異常類型
Python 提供了許多內建的異常類型,這些異常類型都繼承自 BaseException
類。在程式開發過程中,了解這些異常類型非常重要,因為它們幫助我們識別並處理程式中可能發生的錯誤。以下是一些常見的異常類型:
1. 基礎異常類型
- BaseException:所有異常的基類,其他所有異常類型都繼承自這個類。
- SystemExit:當直譯器請求退出時引發的異常。這通常用於程式的正常結束。
- KeyboardInterrupt:當使用者中斷程式執行(例如按下 Ctrl+C)時引發的異常。
2. 常規錯誤基類
- Exception:常規錯誤的基類,其他所有常見的異常類型都繼承自這個類。
3. 常見的計算和邏輯錯誤
- ArithmeticError:所有數學計算錯誤的基類,包含以下子類:
- ZeroDivisionError:當除數為零時引發的異常。
- OverflowError:當數值運算超出最大限制時引發的異常。
- FloatingPointError:當浮點計算發生錯誤時引發的異常。
4. 序列和字典相關錯誤
- IndexError:當嘗試訪問序列中不存在的索引時引發的異常。
- KeyError:當在字典中查找一個不存在的鍵時引發的異常。
5. 類型與值錯誤
- TypeError:當對類型執行無效操作時引發的異常(例如,將字串與整數相加)。
- ValueError:當函數接收到具有有效類型但無效值的參數時引發的異常。
6. 文件與輸出輸入錯誤
- IOError:當輸入/輸出操作失敗時引發的異常。這是
OSError
的一個子類。 - EOFError:當輸入函數到達 EOF 標記(如
input()
或read()
)時引發的異常。
7. 模組和屬性錯誤
- ImportError:當無法匯入模組或其屬性時引發的異常。
- AttributeError:當物件沒有指定屬性時引發的異常。
8. 記憶體與系統錯誤
- MemoryError:當程式耗盡記憶體時引發的異常,這通常不是致命錯誤,但需要注意。
- SystemError:當直譯器遇到內部錯誤時引發的異常,但 Python 並未終止運行。
9. 語法錯誤
- SyntaxError:當 Python 語法不正確時引發的異常。
- IndentationError:當程式碼縮排不正確時引發的異常,是
SyntaxError
的子類。 - TabError:當在縮排中混用 Tab 和空格時引發的異常,是
IndentationError
的子類。
10. Unicode 錯誤
- UnicodeError:當 Unicode 相關的編碼/解碼錯誤發生時引發的異常,包含以下子類:
- UnicodeDecodeError:當在解碼 Unicode 時遇到無效數據時引發。
- UnicodeEncodeError:當在編碼 Unicode 時遇到無效數據時引發。
- UnicodeTranslateError:當在轉換 Unicode 時遇到無效數據時引發。
11. 警告
- Warning:警告的基類,這些通常不是錯誤,但表明可能存在的問題,包含以下子類:
- DeprecationWarning:關於棄用特性的警告。
- FutureWarning:關於即將發生的語義變更的警告。
- RuntimeWarning:關於潛在問題的運行時警告。
- SyntaxWarning:關於可疑語法的警告。
- UserWarning:由使用者代碼生成的警告。