`NameError` has different actions when be raised in IDLE
未关闭
还没有人认领这个 Issue。
topic-IDLE
type-bug
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
Bug report
Bug description:
In IDLE, I raised three different exceptions. The output is:
>>>raise Exception("123\n456")
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
raise Exception("123\n456")
Exception: 123
456
>>>raise NameError("123\n456")
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
raise NameError("123\n456")
456
>>>raise OSError("123\n456")
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
raise OSError("123\n456")
OSError: 123
456
Only NameError cannot show the Exception Type if the text has two or more lines.
In shell the action is same with other exception.
CPython versions tested on:
3.13
Operating systems tested on:
Windows
Linked PRs
- gh-135526
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,在 Python 3.13 的 IDLE shell 中重现这三个异常情况,并将其与普通 shell 的输出进行比较。跟踪 IDLE 如何格式化多行异常消息,然后验证多行 NameError 显示的异常类型是否与 Exception 和 OSError 保持一致;链接的 PR gh-135526 表明相关工作已经在进行中。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- desktop
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100