我在MDN上读到了关于try catch(e,如果e instanceof ...)的块,但是,在Node.js中尝试它时,我得到一个SyntaxError:Unexpected token if。
如果这不起作用,是否有其他方法可以捕获特定的异常,而不是可能发生的所有异常?
答案 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
}]