偶然发现了Python的一个BUG。。。

一般情况下,dict(id=1, **{'id': 1})这句代码应该报TypeError。但如果在捕获了其他异常的情况下,再来执行这句代码,却是会报KeyError,如下图:

Python3.10和Python3.9也能复现该情况,正当我摩拳踩掌,准备去cpython提个issue时,发现Python3.12竟然没有这个问题!

好吧, 也不能白忙活,还是有点好奇,这个BUG是怎么产生,于是到stackoverflow上提问了一下。很高兴真的有很给力的大佬,做出了详细的解释:python - Why does `dict(id=1, **{'id': 2})` sometimes raise `KeyError: 'id'` instead of a TypeError? - Stack Overflow

相关推荐
寻星探路18 小时前
测试开发话题03---BUG篇
功能测试·bug
小林up2 天前
【bug解决】[string “tolua.lua“]:1: ‘=‘ expected
bug·lua
凌晨一点的秃头猪4 天前
Python 常见 bug 总结和异常处理
开发语言·python·bug
TTGGGFF5 天前
报错解决:IEEE latex模版中thanks不显示 隶属关系 / 邮箱不显示
bug
李趣趣5 天前
数据库字段类型bit容易被忽视的bug
c#·bug
kitsch0x976 天前
论文学习_One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery
学习·bug
Brianna Home9 天前
从零到一:用Godot打造2D游戏《丛林探险》
算法·游戏·性能优化·游戏引擎·bug·godot·动画
AI云原生9 天前
云原生系列Bug修复:Docker镜像无法启动的终极解决方案与排查思路
运维·服务器·python·docker·云原生·容器·bug
东巴图10 天前
分解如何利用c++修复小程序的BUG
开发语言·c++·bug