javascript - 我可以在 Node.js 的 javascript 中使用 catch(e if e instanceof SyntaxError) 吗?

标签 javascript node.js try-catch try-catch-finally

我读到 MDN 上的 try catch(e if e instanceof ...) block ,但是,在 Node.js 中尝试时,我得到一个 SyntaxError: Unexpected token if。

如果这不起作用,是否有另一种方法来捕获特定异常,而不是可能发生的一切?

最佳答案

引用您链接到的 MDN 文档:

Note: This functionality is not part of the ECMAScript specification.

JavaScript 1.5, NES 6.0: Added multiple catch clauses (Netscape extension).

所以:不,这在 Node.js 中是不可能的。当然,您可以使用以下语法作为解决方法:

try {
    try_statements
} catch (e) {
    if (e instanceof ...)
        catch_statements_1
    else if (e instanceof ...)
        catch_statements_2
    else
        throw e;
} [finally {
    finally_statements
}]

关于javascript - 我可以在 Node.js 的 javascript 中使用 catch(e if e instanceof SyntaxError) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10486043/

相关文章:

javascript - Connect-assetmanager 文件与 req.url 不匹配

android - Android Studio。线程休眠后应用崩溃

c# - 错误处理整个类

javascript - jquery 选择器和 js 选择器有什么区别?

javascript - 如果时间戳在 aws 上使用 golang 生成,则在本地系统上显示不同的日期时间

javascript - 如何在新的字符串函数中改变它?

sql - Knex + Postgresql + node - 如何为选定的列调用 postgresql 函数

node.js - 你如何制作 Hapi.JS 插件/模块?

javascript - 当鼠标悬停在其他元素上时元素上的 jQuery 事件

c# - 我如何在 C# 中产生并捕获必要的异常?