概述
- Python使用异常的特殊对象来管理程序执行期间发生的错误。
- 每当发生让Python不知所措的错误时,就会创建一个异常对象。如果程序中有处理该异常的代码,程序将继续运行;否则程序将停止,并显示一个traceback,其中包含有关异常的报告。
-
异常是使用try-except代码块处理的,可以用以显示友好的错误提示信息,而不是令人迷惑的traceback。如下是try-except代码块结构:
try:
statements
except ErrorName:
statements
处理异常
示例:处理ZeroDivisionError异常
# division.py
print(5/0)
# >>>
# Traceback (most recent call last):
# File "division.py", line 1, in <module>
# print(5/0)
# ZeroDivisionError: division by zero
try:
print(5/0)
except ZeroDivisionError:
print("You can't divide by zero!")
# >>>
# You can't divide by zero!
- 如果try代码块中的代码运行没有问题,Python将跳过except代码块;如果try代码块出错了,Python将查找对应的except代码块,并运行其中的代码。
- 如果try-except代码块后面还有其他代码,程序将接着运行。
使用异常避免崩溃
- 发生错误时,如果程序还有工作没有完成,那么妥善地处理错误就尤为重要。这种情况经常出现在要求用户提供输入的程序中;如果程序能够妥善处理无效输入,就能再提示用户提供有效输入,而不至于崩溃。
else代码块
- 有一些仅在try代码块成功执行时才需要运行的代码可以放到else代码块中,如下:
try:
ans=a/b
except ZeroDivisionError:
print("You can't divide by zero!")
else:
print(ans)
网友评论