Python 內建異常與錯誤型別備忘單

常見 Python 錯誤類型的參考指南。了解如何调试 ValueError、TypeError、IndexError、KeyError 以及引发异常。

通用邏輯和值異常

表示操作不匹配、索引缺失或变量失败的异常。

方法/功能文法描述
ValueErrorint("abc")当函数接收到类型正确但值不适当的参数时引发。
TypeError"1" + 2当操作或函数应用于不适当类型的对象时引发。
IndexErrormy_list[10]當序列下標超出範圍時引發。
KeyErrormy_dict["missing"]當找不到字典鍵時引發。
AttributeErrormy_str.append("x")当属性引用或赋值失败时引发(例如,在字符串上调用列表方法)。

運行時和資源異常

代表外部文件系统、计算崩溃或执行语法错误的问题。

方法/功能文法描述
FileNotFoundErroropen("missing.txt")當請求檔或目錄但不存在時引發。
ZeroDivisionError1 / 0当除法或模运算的第二个参数为零时引发。
SyntaxErrorwhile True print("hi")當解析器遇到語法錯誤時引發。
NameErrorprint(undefined_variable)當未找到本地或全域名稱時引發。
StopIterationnext(exhausted_iterator)由内置的 next() 引发,表示迭代器没有更多项目。

互動式簡報腳本

run_all_cheat_methods.py
在編輯器中執行
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

常見問題解答

如何在Python中捕捉多個異常?

您可以将它们指定为单个 except 块中的元组,例如 except (ValueError, TypeError) as e:。

我什麼時候應該手動引發異常?

当代码中发生阻止正常执行的意外情况(例如验证失败)时,使用 raise 关键字引发异常。

相關主題

推薦的 Python 資源

透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。