MST
星途 面试题库

面试题:Python异常处理中else和finally在零除错误场景的运用

编写一个Python函数,该函数接收两个参数进行除法运算。使用异常处理机制捕获零除错误,同时在异常处理结构中合理使用else和finally子句,描述每个子句在这种场景下的执行时机与作用。
43.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def divide_numbers(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        print("除数不能为零")
    else:
        print(f"除法结果是: {result}")
    finally:
        print("除法运算结束")

在这个场景中:

  • try:尝试执行除法运算 a / b,如果运算过程中发生 ZeroDivisionError 异常,会跳转到 except 块。
  • except:当 try 块中发生 ZeroDivisionError 异常时执行,这里打印错误信息 “除数不能为零”。
  • else:当 try 块中没有发生异常时执行,这里打印除法运算的结果。
  • finally:无论 try 块中是否发生异常,都会执行,这里打印 “除法运算结束”,常用于资源清理等操作,比如关闭文件、数据库连接等。