在JavaScript中捕获/处理异常时,如何确定异常发生时调用堆栈的内容?(如果可能的话,行号是什么)
try { // etc... } catch (ex) { // At this point here I want to be able to print out a detailed exception // message, complete with call stack, and if possible line numbers. }
Chris Clark.. 16
每个浏览器都以不同的方式处理,因此没有通用的方法来实现它.这篇博文有一些很好的代码可以为大多数支持的浏览器转储堆栈跟踪.我认为没有一种提供行号的好方法.
如果您希望特别调试一个函数,Firebug具有良好的堆栈跟踪功能(访问console.trace()).
每个浏览器都以不同的方式处理,因此没有通用的方法来实现它.这篇博文有一些很好的代码可以为大多数支持的浏览器转储堆栈跟踪.我认为没有一种提供行号的好方法.
如果您希望特别调试一个函数,Firebug具有良好的堆栈跟踪功能(访问console.trace()).
看看这个.
一种分析可用信息的方法:
try { doInit(); } catch(err) { var vDebug = ""; for (var prop in err) { vDebug += "property: "+ prop+ " value: ["+ err[prop]+ "]\n"; } vDebug += "toString(): " + " value: [" + err.toString() + "]"; status.rawValue = vDebug; }