MST

星途 面试题库

面试题:Python异常处理的嵌套与多层捕获

编写一段Python代码,要求在一个函数中嵌套多层try - except块。外层try块尝试调用一个可能会引发IndexError的函数,中层try块尝试打开一个可能不存在的文件(引发FileNotFoundError),内层try块尝试进行一个可能的类型错误操作(如字符串与整数相加)。分别捕获每层可能出现的异常,并针对不同异常打印出不同的详细错误诊断信息。
26.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def nested_try_except():
    try:
        # 尝试调用可能引发IndexError的函数
        def index_error_func():
            my_list = [1, 2, 3]
            return my_list[10]
        index_error_func()
        try:
            # 尝试打开可能不存在的文件
            with open('nonexistent_file.txt', 'r') as file:
                content = file.read()
            try:
                # 尝试进行可能的类型错误操作
                result = 'string' + 1
            except TypeError as e:
                print(f"内层捕获到类型错误: {e}")
        except FileNotFoundError as e:
            print(f"中层捕获到文件未找到错误: {e}")
    except IndexError as e:
        print(f"外层捕获到索引错误: {e}")


nested_try_except()