可恢复的错误


🌐 Recoverable errors

在 REPL 提示符下,按下 Enter 会将当前行的输入发送到 eval 函数。为了支持多行输入,eval 函数可以返回一个 repl.Recoverable 实例到提供的回调函数:

function myEval(cmd, context, filename, callback) {
 let result;
 try {
 result = vm.runInThisContext(cmd);
 } catch (e) {
 if (isRecoverableError(e)) {
 return callback(new repl.Recoverable(e));
 }
 }
 callback(null, result);
}
function isRecoverableError(error) {
 if (error.name === 'SyntaxError') {
 return /^(Unexpected end of input|Unexpected token)/.test(error.message);
 }
 return false;
} 

AltStyle によって変換されたページ (->オリジナル) /