本文档将介绍如何在 Python 3 中处理错误和异常。
1. 什么是错误和异常?
在程序运行时,可能会出现各种错误。这些错误可以分为两类:语法错误(SyntaxError)和异常(Exceptions)。
-
语法错误:Python 解释器无法理解的代码错误。它们通常是由于拼写错误、缺少括号或缩进错误等引起的。
-
异常:程序运行时出现的意外情况,比如除数为零、文件未找到等。这些情况不会让程序崩溃,但是需要我们正确地处理它们。
2. try/except 语句
Python 提供了 try
/except
语句来处理异常。基本的语法如下:
try:
# 可能出现错误的代码块
except ExceptionType1:
# 处理 ExceptionType1 类型异常的代码块
except ExceptionType2:
# 处理 ExceptionType2 类型异常的代码块
...
else:
# 没有出现异常时执行的代码块
finally:
# 无论是否出现异常,都会执行的代码块
-
try
语句用于标记可能发生错误的代码块。 -
except
语句后面跟着一个或多个异常类型,用于捕获特定类型的异常。 -
else
语句在没有出现异常时执行。 -
finally
语句无论是否发生异常都会被执行。
3. 自定义异常
你还可以创建自己的异常类,继承自内置的 Exception
类或其子类。这在需要特别标识某些错误情况时非常有用:
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
try:
raise MyError(3*2)
except MyError as error:
print('A custom exception occurred: ', error.value)
在这个例子中,我们创建了一个名为 MyError
的异常类,然后在 try
块中抛出该异常。在 except
块中,我们捕获该异常并打印其值。
4. 调试和测试
最后,记得利用 Python 的内置模块 pdb
进行调试,以及使用单元测试框架(如 unittest
或 pytest
)来确保你的异常处理代码正确无误。