目录
1.错误与异常
python中的错误和异常是什么?两者之间的联系与区别
- 程序中错误至少包括两种,一种是语法错误,另一种则是异常
- 语法错误是代码不符合编程规范,无法被识别与执行
- if 语句漏了冒号,会报错invalid syntax。若语法完全正确,很显然,分母不为0;也不能使用未定义的变量做运算;而让一个整型和一个列表相加也是不可取的。
2.如何处理异常
异常处理,通常用try和except来解决。
- 由于程序抛出的异常类型是ValueError和except block所catch的异常类型相匹配,所以except block便会被执行。
- except block只接受与它相匹配的异常类型并执行,如果程序抛出的异常并不匹配,那么程序照样会终止并退出。
- 可以在xecept后面省略异常类型,表示与任意异常相匹配,当程序中存在多个except block时,最多只有一个except block会被执行,如果多个except声明的异常类型都与实际相匹配,那么只有最前面的except block会被执行,其他则忽略。
- 异常处理中,还有一个很常用的用法是finally,经常和try,except放在一起来用,无论发生什么情况,finally block 中的语句都被执行,哪怕前面的try和except block中使用了return语句。
- finally中,会放一些无论如何都要执行的语句,对于文件的读取,常常用with open ,会在最后自动关闭文件。
3.异常使用场景与注意点
4.总结
- 异常,通常是指程序运行的过程中遇到了错误,终止并退出,通常使用try except 语句去处理异常,这样程序就不会被终止,仍能继续执行
- 处理异常时,如果有必须执行的语句,比如文件打开后必须关闭等,则可以放在finally block中
- 异常处理,通常用在你不确定某段代码能否成功执行,也无法轻宜判断的情况下,比如数据库的连接、读取等。正常的flow-control逻辑,不要使用异常处理,直接用条件语句解决就可以了。