【Python】Python中常见的异常类型

在 Python 中,异常是程序执行中发生的错误条件,当 Python 脚本遇到一个错误时,它会创建一个异常对象。如果这个异常没有被处理,程序将终止并显示一个错误消息(堆栈跟踪)。Python 使用异常对象来表示错误,并通过 tryexcept 语句来捕获和处理这些异常。

Python 的标准库中定义了多种异常,可以处理不同的错误情况。下面是一些常见的异常类型及其描述:

常见的内置异常

  1. Exception

    • 所有内置非系统退出异常的基类。
  2. ArithmeticError

    • 所有数值计算错误的基类。OverflowError, ZeroDivisionErrorFloatingPointError 都继承自这个类。
  3. BufferError

    • 当与缓冲区相关的操作不能执行时抛出。
  4. LookupError

    • 所有映射和序列用索引或键访问元素时引发的异常的基类,例如 IndexErrorKeyError
  5. AssertionError

    • assert 语句失败时抛出。
  6. AttributeError

    • 尝试访问对象没有的属性时抛出。
  7. EOFError

    • input() 函数在没有读取到任何数据的情况下达到文件结尾(EOF)时抛出。
  8. FloatingPointError

    • 浮点计算失败时抛出。
  9. GeneratorExit

    • 当生成器(generator)或协程(coroutine)被关闭时,即 generator.close() 被调用时抛出。
  10. ImportError

    • 导入模块或对象失败时抛出。
  11. ModuleNotFoundError

    • 导入一个不存在的模块时抛出。
  12. IndexError

    • 当序列中没有此索引(index)时抛出。
  13. KeyError

    • 字典中找不到指定键时抛出。
  14. KeyboardInterrupt

    • 用户中断程序执行,通常是输入 Ctrl+C 时抛出。
  15. MemoryError

    • 操作用完内存但无法完成时抛出。
  16. NameError

    • 尝试访问一个本地或全局名称未声明的变量时抛出。
  17. NotImplementedError

    • 当一个方法或函数应该由子类实现,但在基类中仍被调用时抛出。
  18. OSError

    • 操作系统无法执行操作(例如打开文件)时抛出,有多个子类,如 FileNotFoundErrorPermissionError
  19. OverflowError

    • 进行数学运算产生溢出时抛出。
  20. RuntimeError

    • 一般的运行时错误,通常用于不属于其他类别的错误。
  21. StopIteration

    • 用于信号迭代器的 next() 方法,表示没有更多的元素。
  22. SyntaxError

    • 解析器遇到语法错误时抛出。
  23. IndentationError

    • 缩进错误的基类。
  24. TabError

    • 当缩进包含不一致的制表符和空格时抛出。
  25. SystemError

    • 解释器发现内部错误时抛出。
  26. TypeError

    • 传递给函数的参数类型不正确时抛出。
  27. ValueError

    • 传递给函数的参数类型正确,但值不合适时抛出。
  28. ZeroDivisionError

    • 除或取模运算的第二个参数为零时抛出。

这些异常覆盖了从文件操作错误到简单的运算错误等广泛

的错误类型。合理地使用这些异常类型可以帮助开发者更好地理解和修复出现的错误,同时也使得 Python 程序更加健壮和用户友好。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值