javascript - JavaScript 中的 try-catch : how to get stack trace or line number of the original error

标签 javascript ios mobile

在JavaScript中使用TRY-CATCH时,如何获取导致错误的行的行号?

在许多浏览器上,下面的代码会很好地工作,我将获得指向抛出异常的实际行的堆栈跟踪。

但是,有些浏览器没有“e.stack”。 iPhone 的 safari 就是一个例子。

是否有办法获取适用于所有浏览器的行号?

try
{
   // lots of code here
   var i = v.WillGenerateError; // how to get this line number in catch??
   // lots of code here
} 
catch (e) 
{
     alert (e.stack)  // this will work on chrome, FF. will no not work on safari 
     alert (e.line)  // this will work on safari but not on IPhone
}

非常感谢!

更新: 我发现 e.line 可以在 safari 上使用,但在 iPhone 上仍然不可用,最新的 iOS 版本

最佳答案

尝试使用e.lineNumber。 例如:

try {
   var i = v.WillGenerateError;
} catch (e) {
   alert(e.lineNumber);
}

关于javascript - JavaScript 中的 try-catch : how to get stack trace or line number of the original error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988169/

相关文章:

ios - 尝试从后台恢复时触发 AVAudioSessionInterruptionNotification 和 AVAudioSessionInterruptionWasSuspendedKey

jQuery Mobile 中的 jQuery 表单验证

android - 在 android 手机上使用 CouchDb,在服务器端使用 mongodb

javascript - 在 JavaScript 中计算 EXIF 数据顶点值

javascript - 带有图像和边框的两列列表 - 旋转边框但不旋转图像

javascript - JS检测div在屏幕下方的高度

ios - 在重复的项目上使用源代码

javascript - 使未选中的 HTML 复选框提交选中的值

iphone - App Store评论整合

javascript - 触发手机的多选框