Google Chrome 中的承诺和错误处理
Promise and handling of errors in Google Chrome
我正在测试用 HTML5 Promise
.
重写 som XMLHttpRequest
-code
我做错了,thePromise.then(failingCode)
中的代码失败了。这会调用设置 Promise
.
时使用的 reject
函数
我不得不搜索一段时间才能捕获错误,因为我没有得到任何调用堆栈,也没有发生错误的行号。
那当然很不方便。
我该如何处理?我应该向 Google Chrome 开发人员发送错误报告吗?或者,是我自己的错吗?
我刚刚意识到有一种方法可以在Google Chrome中获取调用堆栈。虽然有点不方便你可以这样做:
function failingCode(arg) {
try {
... the failing code ...
} catch(e) {
console.log("failingCode error: "+e.stack);
debugger;
}
}
请注意,如果您抛出错误,您需要使用 Error
函数来获取堆栈。 (简单地throw "my message"
不会给堆栈。)
更新
在此处报告为 Chrome 错误:https://code.google.com/p/chromium/issues/detail?id=458306
我正在测试用 HTML5 Promise
.
XMLHttpRequest
-code
我做错了,thePromise.then(failingCode)
中的代码失败了。这会调用设置 Promise
.
reject
函数
我不得不搜索一段时间才能捕获错误,因为我没有得到任何调用堆栈,也没有发生错误的行号。
那当然很不方便。
我该如何处理?我应该向 Google Chrome 开发人员发送错误报告吗?或者,是我自己的错吗?
我刚刚意识到有一种方法可以在Google Chrome中获取调用堆栈。虽然有点不方便你可以这样做:
function failingCode(arg) {
try {
... the failing code ...
} catch(e) {
console.log("failingCode error: "+e.stack);
debugger;
}
}
请注意,如果您抛出错误,您需要使用 Error
函数来获取堆栈。 (简单地throw "my message"
不会给堆栈。)
更新 在此处报告为 Chrome 错误:https://code.google.com/p/chromium/issues/detail?id=458306