异常处理之后做些什么_try语句的完全体_最终_finally
回忆上次内容
报错信息
询问ai
修改
import traceback
try:
a
except:
print("in except---------")
traceback.print_exc()
print("in except=========")
游乐场
- traceback 是 模块(module)
- import traceback
- 引入 这个模块(module)
- traceback.print_exc
- .(点)的意思 是 里面的
- traceback 里面的 print_exc
- 作用是输出异常信息
- try 语句当中
- 除了 except 和 else 之外
- 还有 其他子句 吗?
finally
- try 之后分支
- 要么 执行中 捕获到了异常
- 立即停止 try中的部分
- 跳入 对应的except 执行
- 要么 try全部执行完
finally
import traceback
try:
i = int("123")
j = i / 0
except ValueError:
print(ValueError)
except NameError:
print(NameError)
except Exception as e:
traceback.print_exc()
else:
print("Nothing Wrong")
finally:
print("At Last...finally...")
finally的帮助
help("try")
- 如果执行过程中
- 还有 任何的异常 没有被处理
- 那么就 把这个异常 临时存住
- 等finally执行之后
- 再抛出 这个异常
- 如果遇到return break continue之类 强制跳转语句
- saved exception re-raised
最后再抛异常
try:
a
except ValueError:
print(ValueError)
else:
print("Nothing Wrong")
finally:
print("finally----------")
- except 子句 处理不来 NameError
- 把这个 Error 先存着
- 跳过else
- 进入finally
- finally 执行后
- 再把 这个Error
- 直接 抛给 系统
- 再看一个例子
理解finally
- try里面
- 第2行 出现错误 abc无法转化为整型变量
- 不执行后面的
- 直接 跳到except
try:
i = int("abc")
d = i / 0
except ZeroDivisionError:
print(ZeroDivisionError)
else:
print("Nothing Wrong")
finally:
print("At last...")
- except中
- 处理不来 ValueError
- 于是ValueError就存着
- 由于出现了Error
- 最后进入finally执行
- 执行完finally语句块
- 这是finally的执行逻辑
- 有什么实践中的例子吗?
应用场景
- try的具体应用
- 如果都成功 就 提交(commit)
- 如果失败 就 回滚(rollback)
- 无论成功失败 最后都要 断开连接
- finally 就像python 中的
仁慈的独裁者BDFL
扩展视野
- Guido 利用假期去
- 当时 it的 潮头
- 美国硅谷
- 做 一些WorkShop实践课程
- 推广python
互联网
网络集聚
- 有人 就有 应用
- 有应用 就更有 人
- 于是会形成 正反馈
- 有了社区 就会有更多的人 加入社区
- 其实学编程 也是一样
Guido 作为 finally
- finally
- Guido 完成决策
- 决策并不是为了显示
- 那样会 让开发者远离 python项目
- 决策 是因为
- Guido 比任何人 都更 了解项目
- 对于决策 都能做出 合理的解释
- 水瓶座出 生的Guido
水瓶座时代
- 2023年
- 冥王星 将从摩羯座 进入 水瓶座
- 将迎来 20年左右的 转折窗口
- 我们人类社会 开始转变
- 地球 迎来了 水瓶座时代
- 个人更着重于
- 自身内在精神灵性方面的 成长
- 不再执着于 外在物质欲望的 享受
- 水瓶座象征的是集体、群众和社区
- 意味着乐于喜悦服务他人
- 我们的 人际关系、生活方式 将发生重大变化
- 人类的集体意识会逐渐提升
- 可以更容易 连结智慧本源 以及 更高维度的世界
- 科学技术、人道主义及公正平等
- 模式创新、理想社会
- 将会是全球议题中的 重中之重
- 地球环境趋于恶化,气候多变
- 全球变暖,能源安全变得极为重要
- 人类应用高科技对空气、水以及土壤进一步改造会变得困难
- 并且加剧了 全球环境恶化
总结
- 为什么print函数
- 我们下次再说!
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython