【问题标题】:What does pause on caught exceptions?什么会暂停捕获的异常?
【发布时间】:2021-07-04 14:53:25
【问题描述】:

据我了解,异常暂停允许我们在错误出现在控制台之前停止代码的执行。 而且……也许我还没有看到这个工具的便利性。但在我看来,当错误出现在控制台中时,这也很好 - 你可以看到这个错误所在的行,你也可以进入你的代码并直接看到你的错误。此外,代码通常不会在出现错误后执行。它只是停止(有或没有这个暂停)。

但如果暂停例外或多或少清楚,那么我无法获得暂停暂停例外。捕获异常时的暂停是什么?

【问题讨论】:

  • "而且,代码通常不会在出错后执行" 我相信你知道这句话中的关键词是“通常”。有很多地方会抛出异常并在其他地方进行处理,开发人员会非常感兴趣。

标签: javascript google-chrome-devtools


【解决方案1】:

“Pause on exceptions”有两种可能的状态(由其下方的复选框表示):

  • 仅在未捕获的异常上暂停(未选中复选框)
  • 暂停未捕获的异常和已捕获的异常(选中复选框)

该实用程序是在引发异常时停止执行,这使您可以查看引发异常的确切位置、该位置范围内变量的当前值等;并让您看到当时的 UI。只是稍后在控制台中看到错误不会让您在执行暂停的情况下环顾四周。

【讨论】:

  • 但我不太明白pause on caught exceptions 是什么。我们必须抓住什么? pause on exceptionspause on caught exceptions 之间有什么区别?
  • @Heaven - “捕获的异常”是运行的代码在某种程度上捕获的异常。 “未捕获的异常”是永远不会被正在运行的代码捕获的异常(因此最终会出现在控制台中)。 throw new Error() 在全局范围内(例如)抛出一个 uncaught 异常。 try { throw new Error(); } catch (e) { /*...*/ } 抛出 caught 异常。 try { foo(); } catch (e) { /*...*/ } 其中foo 调用bar 调用baz 调用charliecharlie 抛出异常是捕获 异常,因为它被捕获了好几层。
猜你喜欢
  • 1970-01-01
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2011-12-09
  • 2013-03-04
  • 2012-08-27
  • 2011-11-14
相关资源
最近更新 更多