从Chrome中的控制台运行代码时获取错误的堆栈跟踪

Ste*_* Lu 6 javascript google-chrome stack-trace

我从控制台调用一个函数,但是当它抛出异常时,我没有收到像我正常执行代码那样的堆栈跟踪.

有没有办法可以修改我的命令(也许用try/catch)让它为我提供这些信息?

澄清:

page.js:

function otherStuff() { return ['a','b',undefined,'c'];
function doStuff() {
    var x = otherStuff();
    var z = parseInt(x[2]); // this will throw an error
}
Run Code Online (Sandbox Code Playgroud)

控制台,加载链接page.js的html页面

> otherStuff();
Run Code Online (Sandbox Code Playgroud)

我从返回给我的错误中得不到行号.当从页面(而不是控制台)运行它时,我会收到一个行号和一个堆栈跟踪.

mil*_*ose 11

虽然详细,但这将在Chrome JS控制台中打印交互式错误的堆栈跟踪:

try { 
    throw new Error(); 
} catch (e) { 
    console.error(e.stack); 
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果Error抛出非对象,这将不起作用.