发布于 2年前 作者 byvoid 1895 次浏览…catch 上面的例子:

try {
   myroutine(); // may throw three exceptions
} catch (e if e instanceof TypeError) {
   // statements to handle TypeError exceptions
} catch (e if e instanceof RangeError) {
   // statements to handle RangeError exceptions
} catch (e if e instanceof EvalError) {
   // statements to handle EvalError exceptions
} catch (e) {
   // statements to handle any unspecified exceptions
   logMyErrors(e); // pass exception object to error handler


SyntaxError: Unexpected token if at Module._compile (module.js:437:25) at Object.Module._extensions…js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9)

3 回复

you are not a jser.

应该是不支持 e if e instanceof TypeError这样的语法吧

改用 catch(e){ if (e instanceof TypeError){ }else if (e instanceof xxx){


} 这样好了

刚才google 了一下,发现有人有同你同样的问题