nodejs new错误(消息)和Object.keys()
const err = new Error('invalid'); err.code = 200; console.log(Object.keys(err));
=>
[ 'code' ]
为什么不是message
,或stack
err
的关键?
是不是Error
的ES6类?
什么是err.getAllProperties()
的实现,以便它返回的code
以及它的'隐藏'的属性,如message
和stack
?
代替:
Object.keys(err).forEach(function(key) { var val = err[key]; console.log(val); });
使用
Object.getOwnPropertyNames(err).forEach(function (key) { var val = err[key]; console.log(val); });
输出:
This is stack info This is an error message 200
有关Object.getOwnPropertyNames的更多信息。