当 JavaScript 抛出异常时不要停止它

2024-06-30

我正在使用 JavaScript 编写一个 Windows 边栏小工具。现在我想捕获所有 JavaScript 异常并将其记录到文本文件中。一个问题是,当任何一行抛出异常时,下一行将不会被执行。是否可以自动捕获异常,以便执行以下 JavaScript 行。

这是演示我的问题的示例代码:

try
{
    alert(document.getElementById("non-existing-element").value);
}
catch(ex)
{
}
alert("This is shown.");
alert(document.getElementById("non-existing-element").value);
alert("This is not shown.");

因此,一个大的 try-catch 方法允许记录错误,但其余代码将不会被执行。 一种解决方案是捕获每一行的错误。但几千行代码就太多了。 (或者我写一个宏来为我做这件事) 也许任何人都可以帮助我。

谢谢。


您应该尝试构建适当的逻辑来控制错误,而不是尝试捕获错误。

var myEle = document.getElementById("non-existing-element")

if (myEle != null)
   alert(dmyEle.value);

但你正在描述抑制错误

You can使用 onerror 事件处理程序抑制 JavaScript 中的错误。

function handleErr(msg, url, line_no){ 
   var errorMsg = "Error: " + msg + "\n"; 
       errorMsg += "URL: " + url + "\n"; 
       errorMsg += "Line: " + line_no + "\n\n"; 

    alert(errorMsg); 

 return true;
} 

// Set the global onerror; 
onerror = handleErr;

更多信息here http://www.satya-weblog.com/2007/03/javascript-error-handling.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 JavaScript 抛出异常时不要停止它 的相关文章

  • 使用 querySelectorAll 获取选定的选项

    我想知道是否可以在 Javascript 中获取当前选定的选项
  • 如何触发 Bootstrap Carousel 的轮播指示器

    我的代码有什么问题吗 我想触发当前的引导轮播幻灯片编号 我想在特定幻灯片时更改文本或执行一些 jQuery 命令 请看我的代码 document ready function myCarousel on slide bs carousel
  • 我可以在 javascript 中使用 php 吗?

    初学者的问题 我可以在 JavaScript 中使用 PHP 吗 例如在 jquery 中 triggers eq 1 post PHP 在服务器端执行 JavaScript 在客户端执行 但是你可以像这样打印 PHP 变量 trigger
  • Yepnope 和 Modernizr screen.width 条件

    我正在尝试 本地 使用 Yepnope 和 Modernizr 来加载 CSS 和 JS 文件 这样我就可以更好地管理文件并轻松编码 这是当前的布局 Modernizr load test Modernizr mq all and max
  • 如何循环遍历并将值对添加到 JSON 对象?

    使用jQuery 选择框插件 https github com claviska jQuery SelectBox我正在尝试创建一个如下所示的 JSON 对象 其中 value and name 是选择框的值对 Opt Group 1 va
  • 冻结 TH 标题和滚动数据

    我有一个 html 表 我想冻结标题行标签以滚动数据 我怎样才能做到这一点 我需要使用Dom吗 谢谢 我的解决方案是使用两个表并固定列宽 下面的表格位于可滚动的 div 中 并且没有标题
  • 异步等待和获取语法在 React 中不起作用

    这是我的代码 export class App extends Component constructor props super props async fetchSport sport let headers new Headers h
  • 为什么动态安装的 vuejs 内容不是根 vue 实例的子组件?

    我加载一些包含自定义组件的 html 并将该内容挂载到父组件中的固定节点 不幸的是 我发现它们之间没有父子关系 因此动态插入的组件派发的事件无法被根vue接收 我创建了一把小提琴 任何帮助或建议都将受到赞赏 http jsfiddle ne
  • 无法使用带有 socket.io 的媒体源从媒体记录器跳转到流

    当首先加载视频观察客户端然后加载网络摄像头客户端时 以下代码可以正常工作 但是 如果顺序交换或以任何方式中断流 例如通过刷新任一客户端 则流将失败并且媒体源会将其就绪状态更改为关闭 我的假设是 在开始时接收的视频需要初始化标头才能启动 并且
  • JavaScript 作为 HTML 属性是不好的做法吗?

    例子 https stackoverflow com a 372 89566 710887 https stackoverflow com a 37289566 710887 我看到这种情况越来越频繁地发生 我总是被教导要将 javascr
  • WKScriptMessageHandler 不会侦听网页上按钮元素上的“onclick”或“click”事件。网页是使用Reactjs开发的

    我正在使用一个WKWebView在 UIViewController 的视图中使用 url 端点显示托管在服务器上的网页 该网页使用Reactjs 这就是我所掌握的有关该网页的所有信息 该代码创建一个 Web 视图并将该 Web 视图作为控
  • 检测 Javascript 内存泄漏并优化代码

    与 xdebug webgrind 类似 它为我们提供了文件等中每个函数的大致执行时间 我想知道如何进行优化以及检测缓慢的 javascript 函数 我确信萤火虫可能可以做到这一点 但我不确定如何做到 有人可以指导我如何检测内存泄漏吗 如
  • 将元素粘贴到滚动上固定元素的底部?

    基本上 我想要实现的目标是让辅助导航在滚动时与主导航的底部相遇后立即粘在主导航的底部 我仍在学习 jQuery 并且我已经开始抓狂了 编辑 意识到我没有解释到目前为止我已经到了哪里 该类被添加到元素中 但是它没有固定在主标题下方 而是从视口
  • React 组件使用 useState 渲染两次

    当没有任何东西被用来触发重新渲染组件时 我真的很难弄清楚发生了什么 Events js当我删除组件时 组件渲染两次useState 来自Event js它渲染一次 但我需要保留它 当我使用useEffect 在事件组件内 第四次渲染 我只是
  • Tensorflow.js 与 React-Native

    我知道tensor flow js是一个以网络为中心的库 但出于好奇 我也在react native上尝试了它 它有点有效 它仅适用于调试模式 并在调试模式关闭时抛出错误 错误说窗口 位置 搜索不是一个对象 经过一些研究 我发现窗口对象是在
  • 如何获取 ruby​​ 回溯中的源值和变量值?

    Here s the last few frames of a typical Ruby on Rails traceback And here are the last few frames of a typical Nevow trac
  • Javascript:单击正文中除其中一个元素之外的任何位置

    我希望能够单击正文中除该特定元素之外的任何位置 我无法找出我所做的代码有什么问题 当我单击一个特定元素时 except inside body 我不想让它隐藏 但是当我点击body它应该隐藏 HTML
  • javascript 权限被拒绝访问属性

    我在从不同的 iframe 访问属性时遇到问题 我不断收到此权限被拒绝访问属性错误 我见过有人多次询问他们是否使用 file 但没有人 除了我 所以这个问题永远不会得到解决 我不会在网络上这样做 我所有帧的 src 都位于硬盘驱动器上的同一
  • 使重复的scrollBy像jQuery的动画scrollTop一样平滑

    如何使重复的scrollBy调用更平滑 就像使用jQuery的animatescrollTop制作动画一样 目前它是跳跃的 页面在不同的滚动位置之间跳转 我怎样才能让它更顺畅 这是滚动代码 window scrollBy 0 10 scro
  • 多个选择器:确定触发选择器?

    这是一个我无法弄清楚的小问题 我相信很快就会有人回答 有多个选择器 例如 a button span xyz a another click function e var clicked element 我如何找出实际单击了哪个选择器 我需

随机推荐