Python3:异常

概述

  • 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 
#     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)

你可能感兴趣的:(Python3:异常)