except的用法和作用

helStrive / 2024-10-12 / 原文

用于捕获和处理异常
try…except…[else…][finally…]

执行try下的语句,如果引发异常,则执行过程会跳到except语句;
对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句;
如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中;
try下的语句正常执行,则执行else块代码。如果未发生异常,就不会执行except;
如果存在finally语句,最后总是会执行

在 Python 中,except用于捕获和处理异常。

一、用法

通常与try语句搭配使用,基本语法结构如下:

try:
    # 可能会引发异常的代码块
except ExceptionType as e:
    # 处理特定类型异常的代码块
except AnotherExceptionType as e:
    # 处理另一种特定类型异常的代码块
else:
    # 当 try 代码块中没有引发异常时执行的代码块
finally:
    # 无论是否发生异常都会执行的代码块

例如:

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"发生了除零错误:{e}")

二、作用

  1. 异常处理:

    • try代码块中的代码引发异常时,程序会立即跳转到相应的except代码块中进行处理,从而避免程序因异常而崩溃。
    • 可以针对不同类型的异常进行不同的处理,提高程序的健壮性。
  2. 错误诊断:

    • 通过捕获异常对象(如上面代码中的e),可以获取关于异常的详细信息,帮助开发者快速定位和解决问题。
  3. 资源清理:

    • 无论是否发生异常,finally代码块中的代码都会执行,这使得可以在其中放置一些资源清理的代码,如关闭文件、释放数据库连接等。