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

相关推荐
笨手笨脚の20 小时前
【Bug】定时任务中 Jpa Save 方法失效
java·开发语言·bug·事务·jpa
daiyang123...20 小时前
今天遇到的bug
bug
Ha-gd1 天前
测试Bug篇
bug
qq_533183021 天前
记录一个难崩的bug
bug
Forworder1 天前
【测试】Bug和用例
selenium·测试工具·单元测试·测试用例·bug·postman·ab测试
玄尺_0072 天前
bug: uniCloud 查询数组字段失败
数据库·bug
doublelixin2 天前
记录一次session安装应用recyclerview更新数据的bug
bug
肖老师xy2 天前
element-plus bug整理
javascript·vue.js·bug
西西弗Sisyphus2 天前
Bug 背后的隐藏剧情
bug
川石教育4 天前
软件测试过程中如何定位BUG
软件测试·bug·bug定位·定位bug