python 学习笔记(异常对象)

Python标准库中还有很多其他的异常类都继承自标准库里面的Exception类,代表各种不同类型的错误。

捕获异常

解释器执行代码过程中,如果发生异常,就会导致解释器没法继续按照正常流程往下执行代码,所以解释器会结束当前代码的执行。

如果我们在编码的时候,就预料到了某些代码运行时可能出现某些异常,就可以使用try...except...这样的方法来捕获和处理异常。

python 复制代码
while True:
    try:
        miles = input('请输入英里数:')
        km = int(miles) * 1.609344
        print(f'等于{km}公里')
    except ValueError:
        print('你输入了非数字字符')

try 下面缩进的三行代码可以看成是保护区中的代码。

如果执行保护区中代码时,出现异常,解释器会结束保护区中后续代码的执行,并检查这个异常的类型是否匹配后面的except语句中声明的类型。

如果匹配上,解释器知道程序对此种异常是预料到的,并且有对应的处理方案,也就是匹配的except下面缩进的代码。解释器就执行匹配的except下面缩进的代码,不会因此中止程序。

如果我们开发程序的时候,估计某个代码段中可能出现好几种类型的异常,可以使用多个except代码段,分别捕获多种类型的异常。
*

获取异常对象

我们使用except语句匹配异常类型的时候,可以使用as关键字,后面加一个变量名。

python 复制代码
while True:
    try:
        miles = input('请输入英里数:')
        km = int(miles) * 1.609344
        print(f'等于{km}公里')
    except ValueError as e:
        print('你输入了非数字字符')
匹配所有异常

如果我们在写一段代码的时候,不知道这段代码会抛出什么样的异常,并且我们不希望程序因为异常而中止。这时我们可以匹配所有类型的异常(Exception)这样任何类型的异常发生都不会终止程序了。

因为几乎所有的异常都是Exception的子类(除了SystemExit和KeyboardInterrupt等少数几个)。所以Exception能匹配几乎所有类型的异常。

在except下面缩进代码中,使用traceback模块里面的format_exc函数,可以显示异常的信息和异常产生处的函数调用栈的信息。

后续待发~ ,耐心等待!!!

相关推荐
m0_7485548132 分钟前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
码途漫谈1 小时前
Easy-Vibe开发篇阅读笔记(四)——前端开发之结合 Agent Skills 美化界面
人工智能·笔记·ai·开源·ai编程
smj2302_796826521 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
酿情师2 小时前
yihan:一款面向连续网页学习的智能侧边栏插件
学习·学习方法·工具·学习工具
阿正呀2 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_901200532 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch2 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst2 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder2 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_495496413 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python