读代码专项第 9 题:异常类型选错

data = {}
try:
value = data["name"]
except IndexError:
value = "默认值"
print(value)
运行时没有打印默认值,而是报错。

  1. 代码意图:
    尝试从 data 字典中读取 name 对应的值;如果读取失败,就把 value 设为“默认值”并打印。

  2. 问题和根因:
    问题在 except IndexError。data["name"] 是字典取 key,data 中没有 "name" 时抛出的是 KeyError,而不是 IndexError,所以 except 接不住异常,程序不会执行默认值逻辑。

  3. 修复方案:
    将 except IndexError 改为 except KeyError。

posted @ 2026-06-16 13:39  呵哈哈哈哈  阅读(0)  评论(0)    收藏  举报