我无法捕捉到fs.createReadStream()的ENOENT.这是一个异步函数,它在不同的闭包链中抛出异常吗?
$ node -v
v0.10.9
$ cat a.js
fs = require('fs')
try {
x = fs.createReadStream('foo');
} catch (e) {
console.log("Caught" );
}
$ node a.js
events.js:72
throw er; // Unhandled 'error' event
^
Error: ENOENT, open 'foo'
Run Code Online (Sandbox Code Playgroud)
我期待'抓住'打印而不是错误堆栈!
Pet*_*ons 50
fs.createReadStream与事件发射器样式异步,不抛出异常(只对同步代码有意义).相反,它会发出错误事件.
var fs = require('fs')
var stream = fs.createReadStream('foo');
stream.on('error', function (error) {console.log("Caught", error);});
stream.on('readable', function () {stream.read();});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9080 次 |
| 最近记录: |