跳转至

Python 笔记 | 异常处理

在 Python 中,异常处理是一种编程机制,用于在程序执行期间处理错误或异常情况。当程序运行时遇到错误,如除以零、访问不存在的文件或无效的用户输入等,Python 会抛出一个异常。如果这些异常没有被捕获和处理,程序将终止并显示一个错误消息。然而,通过使用异常处理机制,我们可以编写能够优雅地处理这些错误的健壮程序。

Python 的异常处理主要通过 try/except 块来实现。以下是一个基本的异常处理示例:

Python
try:
    # 尝试执行的代码块
    result = 10 / 0  # 这将引发一个ZeroDivisionError异常
except ZeroDivisionError:
    # 当ZeroDivisionError异常被引发时,执行此代码块
    print("不能除以零!")
except Exception as e:
    # 捕获所有其他类型的异常,并将异常对象存储在变量e中
    print(f"发生了一个错误: {e}")
finally:
    # 无论是否发生异常,都会执行此代码块
    print("这是finally块,无论是否发生异常都会执行。")

在这个示例中:

  • try 块包含可能会引发异常的代码。
  • except 块用于捕获并处理特定的异常。可以有多个 except 块来捕获不同类型的异常。
  • Exception 是一个基类,用于捕获所有其他类型的异常。当使用 Exception 作为异常类型时,可以访问异常对象本身(在上面的示例中,异常对象被存储在变量 e 中)。
  • finally 块是可选的,它包含无论是否发生异常都会执行的代码。通常用于执行清理操作,如关闭文件或释放资源。

除了上述的基本用法外,Python 的异常处理还支持其他功能,如:

  • raise 语句:用于显式地引发一个异常。这可以用于在程序中创建自定义错误或重新引发已捕获的异常。
  • as 关键字:在 except 块中使用,用于给异常对象指定一个名称,以便在后续代码中使用。
  • 嵌套 try/except 块:可以在一个 try/except 块内部嵌套另一个 try/except 块,以处理更复杂的错误情况。

通过合理使用异常处理机制,我们可以编写出更加健壮和可靠的 Python 程序。