Python——第五章:处理异常try、except、else、finally

发布时间 2023-12-13 16:02:54作者: Magiclala

在 Python 中,tryexcept 语句用于处理异常(错误)。通过使用这两个关键字,你可以编写代码来捕获和处理可能发生的异常,以保持程序的稳定性。

try:
    try 代码
except 错误1 as 变量1:
    except1代码
except 错误2 as 变量2:
    except2代码
except 错误3 as 变量3:
    except3代码
else:
    没有异常发生时执行的代码
finally:
    始终会执行的代码
  • try 块包含可能引发异常的代码。如果发生异常,程序将跳转到 except 块,执行异常处理代码。
  • except 块可以存在多个,你可以使用多个 except 块来处理不同类型的异常:except块会进行判断,如果符合其中某个except块的错误模式,则执行某个except块下的内容
  • 为了把所有的异常都接到,通常会使用except Exception as e:来收尾(因为所有的异常,都是Exception),你可以使用变量(例如 e)来获取异常对象的信息,并可以返回输出。
  • else 块中的代码将在 try 块中的代码没有引发异常时执行。
  • finally 块中的代码始终都会执行,无论是否发生异常。
try:
    # 代码块,可能引发异常的地方
    result = 10 / 0     # 除数不能为0
    open("hehehehehehehe", mode="r").read()     # 不存在的文件
    lst = []        # 空列表不能被迭代
    lst.__iter__().__next__()

except ZeroDivisionError:
    # 处理除以零的异常
    print('除数不能为0!')

except Exception as e:
    # 异常处理块,处理发生的异常
    print(f'有异常发生: {e}')

else:
    # 没有异常发生时执行的代码
    print(f'计算结果为: {result}')

finally:
    # 始终会执行的代码
    print("执行完记得关闭数据库!!!")