常见的异常及错误类型

314 阅读2分钟
  1. AssertionError(断言错误)
    触发条件:assert 语句条件为 False 时触发。
    示例:

    python
    复制代码
    assert 1 == 2, "断言失败!"
    
  2. AttributeError(属性错误)
    触发条件:尝试访问不存在的对象属性时触发。
    示例:

    python
    复制代码
    obj = object()
    print(obj.some_attribute)  # AttributeError
    
  3. BufferError(缓冲错误)
    触发条件:缓冲区相关操作失败时触发。

  4. ConnectionError(连接错误)
    触发条件:网络连接失败时触发。

  5. EOFError(文件结束错误)
    触发条件:输入函数(如 input())在文件末尾无数据时触发。

  6. FileNotFoundError(文件未找到错误)
    触发条件:试图访问不存在的文件时触发。
    示例:

    python
    复制代码
    open("non_existent_file.txt", "r")  # FileNotFoundError
    
  7. IndexError(索引错误)
    触发条件:序列索引超出范围时触发。
    示例:

    python
    复制代码
    lst = [1, 2, 3]
    print(lst[5])  # IndexError
    
  8. KeyError(键错误)
    触发条件:字典中访问不存在的键时触发。
    示例:

    python
    复制代码
    d = {"key": "value"}
    print(d["non_existent_key"])  # KeyError
    
  9. NameError(名称错误)
    触发条件:引用未定义的变量时触发。
    示例:

    python
    复制代码
    print(undefined_variable)  # NameError
    
  10. TypeError(类型错误)
    触发条件:对不支持的对象类型执行操作时触发。
    示例:

    python
    复制代码
    print(5 + "string")  # TypeError
    
  11. ValueError(值错误)
    触发条件:操作接收到有效类型但无效值时触发。
    示例:

    python
    复制代码
    int("abc")  # ValueError
    
  12. ZeroDivisionError(除 0 错误)
    触发条件:除以零时触发。
    示例:

    python
    复制代码
    print(1 / 0)  # ZeroDivisionError
    

常见的警告类型

  1. DeprecationWarning(废弃警告)
    表示某特性或功能将来会被移除。
  2. SyntaxWarning(语法警告)
    表示可能有问题但仍被接受的语法。
  3. RuntimeWarning(运行时警告)
    表示在运行时的非致命问题。
  4. UserWarning(用户警告)
    用于开发者自行发出的警告,通常使用 warnings.warn()

系统和资源相关异常

  1. MemoryError(内存错误)
    表示内存不足。
  2. OSError(操作系统错误)
    包括文件相关错误、权限问题等。
  3. TimeoutError(超时错误)
    表示操作超出指定时间。