我在MDN上阅读了有关 try catch(e if e instanceof ...) 块的信息,但是,在 Node.js 中尝试它时,我得到一个 SyntaxError: Unexpected token if。
如果这不起作用,是否有另一种方法来捕获特定异常,而不是可能发生的一切?
我在MDN上阅读了有关 try catch(e if e instanceof ...) 块的信息,但是,在 Node.js 中尝试它时,我得到一个 SyntaxError: Unexpected token if。
如果这不起作用,是否有另一种方法来捕获特定异常,而不是可能发生的一切?
要引用您链接到的 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
}]