我正在从控制台调用一个函数,但当它抛出异常时,我没有收到堆栈跟踪,就像代码正常执行时那样。
有没有一种方法可以修改我的命令(可能使用 try/catch),让它为我提供这些信息?
澄清:
页面.js:
function otherStuff() { return ['a','b',undefined,'c'];
function doStuff() {
var x = otherStuff();
var z = parseInt(x[2]); // this will throw an error
}
控制台,加载链接 page.js 的 html 页面后
> otherStuff();
我从返回给我的错误中没有得到行号。从页面(而不是控制台)运行它时,我会收到行号和堆栈跟踪。
最佳答案
虽然冗长,但这将在 Chrome JS 控制台中打印交互错误的堆栈跟踪:
try {
throw new Error();
} catch (e) {
console.error(e.stack);
}
不幸的是,如果抛出非 Error
对象,这将不起作用。
关于javascript - 在 Chrome 中从控制台运行代码时获取错误的堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812682/