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

相关推荐
Jay Kay1 天前
Event loop is closed when AsyncClient exists in multiple event_loops.
bug
JHC0000002 天前
发现个微信客户端的bug
微信·bug
wow_DG5 天前
【Python✨】VS Code 秒开 Python 类型检查:一招 mypy + settings.json 让你的 Bug 原地现形!
python·json·bug
驱动探索者7 天前
Zephyr 获取 cpu 占用率异常bug分析
bug·rtos·zephyr
薛定e的猫咪8 天前
【调试技巧】vscode 四种断点调试,快速定位 bug
ide·vscode·python·bug
万粉变现经纪人8 天前
如何解决 pip install 编译报错 ‘cl.exe’ not found(缺少 VS C++ 工具集)问题
开发语言·c++·人工智能·python·pycharm·bug·pip
月小满9 天前
DataV轮播时其他组件的内容也一起滚动 修复bug的方法
前端·vue.js·bug·大屏端
桃子丫9 天前
AD转 Cadence学习指南-BUG篇
bug
testtraveler9 天前
[Fix] ImportError: libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent
pytorch·python·bug
测试者家园10 天前
从“找 bug”到“降风险”:测试思维模式的底层迁移
软件测试·bug·风险管理·持续测试·测试基础·智能化测试·测试思维模式