【发布时间】:2014-09-10 12:09:18
【问题描述】:
我希望,任何在 Javascript 中捕获的异常都会传递一条消息和一个堆栈。
try {
doSomething();
} catch(e) {
alert(e.message);alert(e.stack);alert(JSON.stringify(e));
}
但是,我得到的是两个带有字符串 undefined 和一个 { code: 7 } 的警报
这可能是什么原因?
function doSomething() {
reader.readAsDataURL(file);
reader.onload = function(event) {
var result = event.target.result;
var jqxhr = $.post(url, { data: result}, function(data) { alert(data); });
}
}
【问题讨论】:
-
这应该在最近的浏览器中适用于内在异常,
doSomething是否有自己的异常机制?例如。throw {code: 7};作为内置的Error对象没有code属性。 -
doSomething() 有点复杂,但缩小后看起来像这样(见主要部分)
标签: javascript exception-handling