首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未处理异常处理程序缺少异常信息

未处理异常处理程序缺少异常信息
EN

Stack Overflow用户
提问于 2021-04-02 15:39:27
回答 1查看 272关注 0票数 1

同样地,为了提出问题,我试图将所有未处理的错误推到我们的遥测管道中,以便为工程师提供足够的信息来调试这些问题。

未处理异常处理程序的设置方式如下:

代码语言:javascript
复制
window.onerror = (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error) => {
        const message: string = `src: ${source} line: ${lineno} col: ${colno}`;
        logError(error || new Error(event.toString()), message);
    };

这似乎与文档是一致的。

在遥测开始流动后,我观察到:

  1. 对于大多数处理程序调用,error变量为空。
  2. linenocolno也是null0

我知道苏瑞金设置,它似乎是正确设置的。

我找不到任何严格的规则来描述在未处理的回调过程中提供了什么信息。我也在寻找反馈的方式,我们建立了未处理的回调和想法,为潜在的改进。

EN

回答 1

Stack Overflow用户

发布于 2021-04-11 01:49:04

代码语言:javascript
复制
<script type="text/javascript">
window.onerror = function(msg, url, line, col, error) {

    const message: string = `src: ${source} line: ${lineno} col: ${colno}`;
    logError(error || new Error(event.toString()), message);

   // Send your telemetry info here

   // Many browsers show alerts dialogs when errors are founded, so return true to suppress it.
   return true;
};
</script>

window.onerror什么时候开火?

事件将在下列任何一种

  1. 有一个不明确的例外
  2. 出现编译时错误。

例如:

未明例外

  • 抛出“一些信息”
  • 呼叫或引用未定义的;
  • cross_origin_iframe.contentWindow.document;,一个安全异常

编译错误

代码语言:javascript
复制
<script>{</script>
<script>for(;)</script>
<script>"oops</script>
setTimeout("{", 10);, it will attempt to compile the first argument as a script

支持window.onerror的浏览器

  • 铬13+
  • 火狐6.0+
  • 5.5+
  • Opera 11.60+
  • 野生动物5.1+
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66921749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档