fs async functions (both callback and promises APIs) return Errors without stack trace
未关闭
还没有人认领这个 Issue。
confirmed-bug
fs
- 主要语言
- JavaScript
- 星标
- 122k
- 派生
- 37.4k
- 平均合并
- 4 天 3 小时
- 30 天内合并 PR
- 272
描述
- Version: 13.3.0
- Platform: Windows 10 x64
const fs = require('fs')
fs.readFile('nonexistentfile', (err) => console.log(err.stack))
What is the expected output?
The err.stack should contain error text and stack
Same as readFileSync function:
Error: ENOENT: no such file or directory, open 'nonexistentfile'
at Object.openSync (fs.js:446:3)
at Object.readFileSync (fs.js:348:35)
...
What do you see instead?
err.stack only contains error text
Error: ENOENT: no such file or directory, open 'C:\dev\projects\ntest\nonexistentfile'
fs.writeFile have same trouble
Аnother strange thing is that the error text is also different (local/absolute path)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,在报告的 Node.js 版本上重现 fs.readFile 和 fs.writeFile 的 callback 情况,然后将它们的错误与 readFileSync 进行比较。也检查相应的 promise API;当异步错误包含 stack trace,并使用预期的路径和错误文本时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- backend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100