Mar*_*ark 24 javascript try-catch node.js
我在node.js脚本上使用try catch:
try {} catch (err) {console.log(err)}
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出:
{ stack: [Getter/Setter],
arguments: [ 'undefined' ],
type: 'called_non_callable',
message: [Getter/Setter] }
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以提供更多信息?包括行号和功能名称等?
sch*_*rmu 55
这些[Getter/Setter]成员指出有关错误对象的更多信息.您可以使用小辅助函数轻松转储这些getter/setter的内容(非常简单的实现,进一步细化取决于您)
function dumpError(err) {
if (typeof err === 'object') {
if (err.message) {
console.log('\nMessage: ' + err.message)
}
if (err.stack) {
console.log('\nStacktrace:')
console.log('====================')
console.log(err.stack);
}
} else {
console.log('dumpError :: argument is not an object');
}
}
try {
not_defined.function_call();
} catch(err) {
dumpError(err);
}
Run Code Online (Sandbox Code Playgroud)
您还可以扩展Object.prototype以提高可访问性(因此您可以使用err.dumpError()),尽管扩展Object.prototype承担了覆盖现有功能的风险.
| 归档时间: |
|
| 查看次数: |
25828 次 |
| 最近记录: |