首页 > web前端 > js教程 > 正文

如何检索自定义异常的 JavaScript 堆栈跟踪?

Linda Hamilton
发布: 2024-10-17 22:29:29
原创
803 人浏览过

How Can You Retrieve a JavaScript Stack Trace for Custom Exceptions?

如何检索自定义异常的 JavaScript 堆栈跟踪

在 JavaScript 中创建和引发异常对于错误处理至关重要。但是,当您抛出自定义异常(例如,抛出“AArggg”)时,默认情况下仅显示错误消息。这使得跟踪执行流程并识别错误来源变得具有挑战性。

现代解决方案(2017)

现代浏览器提供 console.trace()发生异常时生成堆栈跟踪的方法。只需在异常处理程序的 catch 块中调用此方法即可显示堆栈跟踪。

基于错误对象的解决方案

另一种有效的方法是创建 Error 对象并利用其堆栈属性。 stack 属性包含详细的堆栈跟踪,其中包含有关导致异常的函数调用的信息。以下代码片段演示了这种方法:

<code class="javascript">function stackTrace() {
    var err = new Error();
    return err.stack;
}</code>
登录后复制

自定义堆栈跟踪函数

2009 年,提出了自定义堆栈跟踪函数作为潜在的解决方法:

<code class="javascript">function stacktrace() { 
  function st2(f) {
    return !f ? [] : 
        st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + f.arguments.join(',') + ')']);
  }
  return st2(arguments.callee.caller);
}</code>
登录后复制

此函数迭代遍历调用堆栈并构造自定义堆栈跟踪。它在不支持 console.trace() 方法的旧版浏览器中可能很有用。

当您使用上述任何方法检索 JavaScript 堆栈跟踪时,您将获得对执行流程的宝贵见解,并且导致错误的情况。此信息对于有效排除故障和解决错误至关重要。

以上是如何检索自定义异常的 JavaScript 堆栈跟踪?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!