python 错误异常处理
2017-03-29 01:19
309 查看
通常异常处理分为三大类
语法错误一般都是少写了些标点符号
只要console看到SyntaxError 几乎都是语法错误
例如使用不当的循环,代码不报错,但是结果不是你想要的
这类的话要分析考虑你的流程,或者设计是不是有问题。
就是把有可能出现错误的地方放到一个代码层面上去
try:
尝试
eccept 明确的类型错误:
except:
捕获
else:
都没捕获
打印出异常的详细信息
例子2:
打印出类的name
如果打印出age会报错:
做出异常处理的代码:
finally 最终的意思
不管文件有没有异常最终都要处理的信息
那么什么时候加finally呢??
它是针对一些有需要释放资源的东西
例如 文件 数据库…. 读写一些内容遇到了问题,而文件已经打开了,中间如果遇到异常终止退出来的话,可能会影响后续的操作
所以要用finally
异常有时候不一定非把它截断
但实际开发中有一个原则,在程序中有一个异常,不能就这么悄悄的过,你必须要处理 哪怕不处理至少要让它抛出来 终止程序
有的时候我们需要手动的抛出异常
手动抛出异常有什么意义呢???
例如:我们在c#,或者java定以了一个接口,而这个接口是必须要实现的,那这样我们可以把它写到一个方法里面
异常有很多详细参见官网的内置文档
https://docs.python.org/3.5/tutorial/errors.html
语法错误 语意错误 逻辑错误
语法错误
语法错误一般都是少写了些标点符号
只要console看到SyntaxError 几乎都是语法错误
语义错误
例如 除以0为语义错误逻辑错误
逻辑错误是比较难排查的,它跟代码无关,跟代码的设计有关例如使用不当的循环,代码不报错,但是结果不是你想要的
这类的话要分析考虑你的流程,或者设计是不是有问题。
异常处理
代码有问题我们肯定要做出处理就是把有可能出现错误的地方放到一个代码层面上去
try:
尝试
eccept 明确的类型错误:
except:
捕获
else:
都没捕获
try: x = 5 / 0 print(x) except ZeroDivisionError: print('不能除0') except: print('其它错误') else: print('没有异常')
打印出异常的详细信息
例子2:
打印出类的name
如果打印出age会报错:
做出异常处理的代码:
class person: def __init__(self,name): self.name = name p = person('peter') try: print(p.age) except AttributeError as e: print('属性错误 详细信息:',e) except: print('其它错误') else: print('没有错误')
finally 最终的意思
不管文件有没有异常最终都要处理的信息
那么什么时候加finally呢??
它是针对一些有需要释放资源的东西
例如 文件 数据库…. 读写一些内容遇到了问题,而文件已经打开了,中间如果遇到异常终止退出来的话,可能会影响后续的操作
所以要用finally
try: f = open('date.txt') f.read() except: print('文件操作遇到错误') finally: f.close()
异常有时候不一定非把它截断
但实际开发中有一个原则,在程序中有一个异常,不能就这么悄悄的过,你必须要处理 哪怕不处理至少要让它抛出来 终止程序
有的时候我们需要手动的抛出异常
手动抛出异常
手动抛出异常有什么意义呢???
例如:我们在c#,或者java定以了一个接口,而这个接口是必须要实现的,那这样我们可以把它写到一个方法里面
def method(): raise NotImplementedError('该方法代码还未实现') method()
异常有很多详细参见官网的内置文档
https://docs.python.org/3.5/tutorial/errors.html
相关文章推荐
- [Python进阶-6]错误异常处理,断言assert,日志logging,单元测试,文档测试
- Python 的错误和异常处理
- python学习第十八天 --错误&异常处理
- Python基本语法_错误异常处理详解
- Python文件与异常--处理错误
- python学习(二)之文件处理与错误异常
- python错误处理记录完整的异常堆栈信息
- python异常处理实例教程(捕捉异常、错误)
- python的错误类型和异常处理
- python错误处理记录完整的异常堆栈信息
- 请求错误[Python]网络爬虫(三):异常的处理和HTTP状态码的分类
- Python 基础 ——异常与错误处理
- Head First Python---------(一)第一章(初识Python__人人都爱列表)、第二章(共享你的代码__函数模块)、第三章(文件与异常__处理错误)
- 【python】错误/异常处理,调试,测试
- Python学习笔记之错误处理(关键词:错误处理、异常机制、try、except、else、finally、raise)
- [Head First Python]3. 文件与异常:处理错误
- python基础知识整理——错误以及异常处理
- python 常见异常错误处理
- C++ FAQ Lite[17]--异常和错误处理(更新)
- COM组件设计与应用12 - 错误与异常处理