javascript - JsExceptions 的本质是什么以及如何处理?
问题描述
在生产模式下的 gwt 项目中,我们将未捕获的异常及其堆栈跟踪发送到服务器。但有时我们会收到一个没有堆栈跟踪的 JsExceptions,只是 java.lang.JsException。那是什么?我该怎么做才能意识到错误发生在哪里?谢谢。
解决方案
这表明发生了一些普通的 JS 错误,GWT 无法以有意义的方式翻译(最近 GWT 中的“空指针”被正确包装,或者通过其他一些被重新包装为 a 的 api JavaScriptException
)。调试这个通常应该像任何其他 JS 异常一样进行 - 使用浏览器的调试工具来检查发生了什么以及为什么。
遇到此类情况的一些不太常见的方法可能包括页面上的其他 JS 脚本行为不端、可能更改/替换浏览器 API,或者用户安装其他扩展来改变浏览器 API 的功能。
使用浏览器的调试器的“暂停捕获和未捕获的异常”功能来检查在这种情况下会发生什么,或者检查 JsExceptionbackingJsObject
字段或getStackTrace()
返回值中的堆栈跟踪。如果它不存在,这可能意味着浏览器太旧而无法捕获(并且在 GWT 中禁用了模拟堆栈跟踪或遗留堆栈跟踪功能),或者底层 JS 对象根本没有堆栈跟踪由于某些原因。
推荐阅读
- c# - 当我单击 GroupBox 内的更改按钮时,数据网格和数据库中的名称都会更改,但人的性别没有更改
- python - 当以秒计算时,需要以小时绘制余弦函数
- android - 无法打开刚刚上传到 Play 商店的应用 java.lang.UnsatisfiedLinkError:
- javascript - 如何在chartjs图上显示指数平滑?
- ios - 如何从 Material Inspector 设置 colorBufferWriteMask
- python-2.7 - 从 Python 运行 Matlab 脚本:TypeError: 'float' object is not iterable
- macos - 如何卸载 VS 代码
- mysql - 如何使用给定数字的where子句并显示哪些行包含给定数字的人
- mendeley - 卸载了mendeley,但引文插件仍然出现在word中
- r - 基本数据集调用