《Python 核心技术与实战》 学习笔记 Day08 异常处理

2023-01-22  本文已影响0人  _相信自己_

错误与异常

通常来说,程序中的错误至少包括两种,一种是语法错误,另一种则是异常。

所谓语法错误,你应该很清楚,也就是你写的代码不符合编程规范,无法被识别与执行。

而异常则是指程序的语法正确,也可以被执行,但在执行过程中遇到了错误,抛出了异常。

10 / 0
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero

order * 2
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'order' is not defined

1 + [1, 2]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'

如何处理异常

通常使用 try 和 except 来解决,except block 只接受与它相匹配的异常类型并执行,如果程序抛出的异常并不匹配,那么程序照样会终止并退出。Exception 是其他所有非系统异常的基类,能够匹配任意非系统异常。

异常处理中,还有一个很常见的用法是 finally,经常和 try、except 放在一起来用。无论发生什么情况,finally block 中的语句都会被执行,哪怕前面的 try 和 excep block 中使用了 return 语句。

用户自定义异常

实际工作中,如果内置的异常类型无法满足我们的需求,或者为了让异常更加详细、可读,想增加一些异常类型的其他功能,我们可以自定义所需异常类型。

总结

上一篇 下一篇

猜你喜欢

热点阅读