首页 > 解决方案 > python中的异常输出

问题描述

def fancy_divide(list_of_numbers, index):
    try:
        try:
            raise Exception("0")
        finally:
            denom = list_of_numbers[index]
            for i in range(len(list_of_numbers)):
                list_of_numbers[i] /= denom
    except Exception as ex:
        print(ex)

当您调用 fancy_divide([0, 2, 4], 0) 时,此代码是否打印 0?

标签: python

解决方案


它不打印0,因为块中引发了另一个异常finally,替换了原始异常Exception("0"),因此外部try-except块仅打印后一个异常。


推荐阅读