Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所错的错误时,他都会创建一个异常对象。如果你编写了处理该异常的的代码,程序将继续运行;
如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。
异常是使用try-except代码块处理的。try-except代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。使用了try-except代码块时,即便出现异常,程序也将继续运行:显示你编写的友好错误消息,而不是令用户迷惑的traceback。
使用try-except代码块
当你认为可能发生了错误时,可编写一个try-excep代码块来处理可能发生的异常。你让Python尝试运行一些代码,并告诉它如果这些代码引发了指定异常,该怎么办。
处理ZeroDivisionError异常的try-except代码块类似于下面这样:
try:
print(5/0)
except ZeroDivisionError:
print('You can't divide by zero!)
我们将导致错误代码print(5/0)放在了一个try代码块中。如果try代码块中的代码运行起来没有问题,Python将跳过except代码块;如果try代码块中的代码块导致错误,Python将查找这样的except代码块,并运行其中的代码,即其中指定的错误与引发的错误相同。