Html 浏览器如何处理异常?
我决定用代码中的一行来计算浏览器如何处理脚本,这一行是个例外 假设我们有一个例外:Html 浏览器如何处理异常?,html,ecmascript-6,Html,Ecmascript 6,我决定用代码中的一行来计算浏览器如何处理脚本,这一行是个例外 假设我们有一个例外: throw Error("custom error"); 根据规范ecma262返回一个抛出类型的完成记录。 执行脚本时: 如果结果。[[Type]]正常,则 将结果设置为计算scriptBody的结果 返回完成(结果) 这向我们清楚地表明,从 但是ecma262规范没有说明何时向控制台抛出错误。我需要帮助了解whatwg规范如何拦截ecma262的错误抛出。您看到的行为在whatwg HTML标准(em
throw Error("custom error");
根据规范ecma262返回一个抛出类型的完成记录。
执行脚本时:
- 将结果设置为计算scriptBody的结果
但是ecma262规范没有说明何时向控制台抛出错误。我需要帮助了解whatwg规范如何拦截ecma262的错误抛出。您看到的行为在whatwg HTML标准(emphasis mine)中指定
另外,ECMAScript实际上没有控制台,这是在中指定的。我认为这不是标准化的,但是评估脚本的步骤可以在这里找到:。@FelixKling感谢您的链接。你能告诉我什么是重试错误吗?@MaximPro那里的规范说“可选的重试错误布尔值:”。它是函数的布尔参数
rethrow
意味着该错误将作为错误在调用堆栈中进一步传递。@loganfsmyth因此,对于我的行,没有rethrow参数。在什么样的代码中会出现这个论点?”因此,对于我的行,没有重述论点“对不起,我不知道这是什么意思。“这个参数是在什么代码中产生的?”请花点时间查看链接的规范。如果您按照链接使用该函数,其中一个会直接指向“运行经典脚本,将rethrow errors参数设置为true”的状态。因此答案是importScripts()
将错误抛出到任何代码中。这可能会在以后记录,但也可能会捕获。