the*_*eye 3 javascript exception object node.js
默认情况下,当找不到文件时,Node.js 会抛出以下异常。
{ [Error: ENOENT, no such file or directory 'InvalidFile']
errno: 34,
code: 'ENOENT',
path: 'InvalidFile',
syscall: 'open' }
Run Code Online (Sandbox Code Playgroud)
从技术上讲,这应该是一个 JavaScript 对象。根据 javascript 对象语义,应该有一个逗号来分隔成员元素。在这种情况下,[Error: ENOENT, no such file or directory 'InvalidFile']和之间没有逗号errno: 34,。我的问题是
我如何构造这样的对象?
如何访问[Error: ENOENT, no such file or directory 'InvalidFile']程序中的
元素?
嗯,这不完全是代码。它基于 JavaScript 的文字语法,但只是从util.inspect()(或类似的内部函数)生成的对象的表示。
方括号提及类型的Error其前message。而且,其余的是可枚举属性及其添加到其中的值的列表。
要自己创建它:
var error = new Error("ENOENT, no such file or directory 'InvalidFile'");
error.errno = 34;
error.code = 'ENOENT';
error.path = 'InvalidFile';
error.syscall = 'open'
console.log(error); // uses `util.inspect()`
console.log(util.inspect(error)); // or use it directly
console.log(error.message); // "ENOENT, no such ..."
console.log(Object.prototype.toString.call(error)); // "[object Error]"
Run Code Online (Sandbox Code Playgroud)
并且,对于更大的格式样本,尝试记录一些内置模块:
console.log(console);
Run Code Online (Sandbox Code Playgroud)
{ log: [Function],
info: [Function],
warn: [Function],
error: [Function],
dir: [Function],
time: [Function],
timeEnd: [Function],
trace: [Function],
assert: [Function],
Console: [Function: Console] }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |