【发布时间】:2014-04-07 14:49:44
【问题描述】:
我们使用 window.onerror 来捕获未处理的异常(为开发团队记录它们,并显示友好的用户警报)。最近我们注意到,在谷歌浏览器中,如果错误消息超过一定长度就会被截断,并且在错误消息中神秘地添加了文本“...<omitted>...”。
下面的代码将演示这一点(在 Chrome 版本 33.0.1750 中)。我想知道有没有其他人遇到过这个问题?
<html>
<head>
<script type="text/javascript">
window.onerror = function (errorMsg, url, lineNumber) {
alert('Error: ' + errorMsg);
}
var throwError = function () {
throw new Error(
'Something went wrong. Something went wrong. Something went wrong. Something went wrong. ' +
'Something went wrong. Something went wrong. Something went wrong. Something went wrong. ' +
'Something went wrong. Something went wrong. Something went wrong. Something went wrong. ' +
'Some text gets truncated before this point!');
}
</script>
</head>
<body>
<h1>Hello World</h1>
<input type="button" onclick="throwError()" value="Throw uncaught error!" /><br /><br />
</body>
</html>
【问题讨论】:
-
Argghh,快把我逼疯了!
-
@masonk - 您是否尝试过我在下面的回答,或者您使用的是无法编辑的第 3 方软件?
-
我们有一个自定义错误处理程序,我正在根据您的回答进行修改。谢谢你。
-
他们开始将错误消息限制为 256 个字符 (Source)。我认为这是一个糟糕的举动。
标签: javascript google-chrome onerror