我可以在Node.js的javascript中使用catch(如果是instanceof SyntaxError)吗?

时间:2012-05-07 17:02:21

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

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

如果这不起作用,是否有其他方法可以捕获特定的异常,而不是可能发生的所有异常?

1 个答案:

答案 0 :(得分:15)

引用您链接到的MDN文档:

  

注意:此功能不是ECMAScript规范的一部分。

  

JavaScript 1.5,NES 6.0:添加了多个catch子句(Netscape扩展)。

所以:不,这在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
}]