偶然发现了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

相关推荐
f***24119 小时前
Bug悬案:程序员破案指南
bug
e***98579 小时前
Bug破案现场:技术团队的悬疑推理秀
bug
数字芯片实验室11 小时前
边界值测试:一个”==”引发的芯片bug
fpga开发·bug
e***98571 天前
Bug悬案侦破大会:高效解决技术难题
bug
f***24111 天前
Bug悬案侦破:技术团队的破案指南
bug
Lxinccode1 天前
BUG(20) : response.text耗时很久, linux耗时十几秒, Windows耗时零点几秒
python·bug·requests·response.text·response.text慢
深念Y1 天前
夸克网盘 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe 工具。
windows·bug·报错·系统·更新·网盘·夸克
万粉变现经纪人1 天前
如何解决 pip install mysqlclient 报错 ‘mysql_config’ not found 问题
数据库·python·mysql·pycharm·bug·pandas·pip
f***24111 天前
Bug悬案:技术侦探的破案指南
算法·bug
前端大波1 天前
avue-crud 操作列透明 bug
bug