(1)语法错误(大小写拼写错误、括号不匹配等…)=> 不能正常执行
(2)逻辑错误(程序运行正常,只是最后结果不符合预期)
程序运行过程中,出现的意料之外的错误
? 如:打开的文件不存在、被除数为0、操作的数据类型不对、存储错误,互联网请求错误…
当程序运行时,发生了未处理的异常,Python就将终止执行程序,并以堆栈回溯(Traceback,也 称向后追踪)的形式显示异常发生的上下文。
? 回溯信息告诉我们应该去哪里寻找问题的根源,对解决问题非常有帮助。
在代码被解释执行的过程中可能会抛出异常。
那么也就是说,可能会发生,可能不会发生。对于这么不可预测的异常状态如何处理?
1:即使程序出错,也不想让程序终止
2:如果出错了,需要特殊处理
异常处理机制 try…except…
正常执行: try -> 执行代码 -> 结束
遇到异常: try -> 遇到异常 -> 跳到excep -> 结束
执行匹配到第一个except则退出
如果父类异常在最前面,会吞噬所有子类异常(建议:先except子类,再except父类)
如果except捕获的错误与触发的错误不一致,程序会捕获不到
只执行最先匹配的一个except
如果父类异常在最前面,会吞噬所有子类异常
? 多except注意:
只会匹配一个except
要先写子类异常再写父类异常
如果except捕获的错误与触发的错误不一致,程序会捕获不到
原文:https://www.cnblogs.com/lyck/p/15213754.html