3

所以我们在我们的服务器上运行了一个大型的 JS 网络应用程序,其大多数用户在移动浏览器上运行它——主要是 iPhone 上的 Safari。JS 错误是使用 Airbrake Error Catcher 捕获的。然而,调查通过 Airbrake 出现的实时错误是令人沮丧的,因为 Safari 会截断其错误消息。在桌面浏览器上输出如下:

TypeError:“未定义”不是对象(评估“blah.currency_symbol”)

在 Safari iPhone 上显示如下:

“未定义”不是对象

因此,除非我知道如何或在何处重现错误,否则我无法知道出了什么问题以及在哪里。

长话短说 - 是否有从 Safari iPhone 捕获更多详细错误信息的方法?我使用 try/catch 进行了测试,但该对象仍然只返回了截断的消息。

(抱歉,如果以前有人问过这个问题,似乎没有搜索得到答案)

4

1 回答 1

0

嗯,没有回应,但我认为从我自己的进一步测试来看,答案可能是无法克服的“不”——我做了我能想到的最简单的测试,绑定到错误对象并在回调中捕获错误响应。似乎截断错误(e.message)是 iOS Safari 使用的主要响应形式,甚至对象中的其他标准值(例如文件名或行号)根本没有设置。似乎在对象甚至被传递回控制台之前 Safari 会“有帮助地”截断它:(

于 2012-10-22T06:54:34.653 回答