学习笔记_错误处理
来源:互联网 发布:网络销售灰色项目 编辑:程序博客网 时间:2024/05/16 05:42
学习笔记_错误处理
学习日期:2016年9月28日
学习课程:错误处理 - 廖雪峰的官方网站
try
try…except…finally…的处理机制。
用
try
来运行一段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except
语句块,执行完except
后,如果有finally
语句块,则执行finally
语句块,至此,执行完毕。Python的错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except时需要注意的是,它不但捕获该类型的错误,还把其子类也“一网打尽”。
使用try…except捕获错误还有一个巨大的好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()出错了,这时,只要main()捕获到了,就可以处理。
调用堆栈
如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。
如果出现错误的话,我们从上往下可以看到整个错误的调用函数链,然后找到错误的源头。
纪录错误
- Python内置的logging模块可以非常容易地记录错误信息,同时让程序继续执行下去。
抛出错误
- 我们可以通过
raise
语句抛出错误。 - 只有在必要的时候才定义我们自己的错误类型。如果可以选择Python已有的内置的错误类型(比如
ValueError
,TypeError
),尽量使用Python内置的错误类型。 - raise语句如果不带参数,就会把当前错误原样抛出。
- 在except中raise一个Error,还可以把一种类型的错误转化成另一种类型。(绝对不应该转化完全不相干的错误类型)
0 0
- 学习笔记_错误处理
- 学习笔记之错误处理
- 【Python学习笔记】错误处理
- python学习笔记 错误处理
- 学习笔记_错误、调试和测试
- Ruby学习笔记_异常处理rescue
- 黑马程序员_异常处理学习笔记
- 黑马程序员 _学习笔记 异常处理
- MATLAB图像处理_学习笔记
- OpenCV入门_学习笔记_读取、显示、处理图像
- 61_错误处理
- JavaScript学习笔记——错误处理
- JavaScript学习笔记——错误处理
- mysql存储过程学习笔记--错误处理
- C++11学习笔记8---错误处理
- PHP学习笔记——错误处理
- swift学习笔记(16)- 错误处理
- go语言学习笔记(10) 错误处理
- Spring框架学习1.0对动态代理的理解z,自定义BeanFactory
- 学习笔记_面向对象编程
- web 服务器安全相关
- 英语学习——螓首蛾眉
- Android中图片的三级缓存详解
- 学习笔记_错误处理
- 在Ubuntu下配置Yaafe
- 学习笔记_调试
- C语言指针作为形参动态申请空间
- 坚持#第52天~
- Spring 配置使用 - Bean 自动装配
- 3D-CFG构建
- redis安装 随笔
- 学习笔记_单元测试