在JSON.parse期间捕获节点中的异常

Hah*_*ann 39 parsing json exception-handling node.js

我的节点服务器在无法解析以下行中的JSON时死机:

var json = JSON.parse(message);
Run Code Online (Sandbox Code Playgroud)

我读了这个关于如何在节点中捕获异常的线程,但是我仍然不确定在这个语句中包装try和catch块的正确方法是什么.我的目标是捕获异常并将错误记录到控制台,当然还能使服务器保持活动状态.谢谢.

Gol*_*den 75

都很好!:-)

JSON.parse运行同步,并且不知道errNode.js中经常使用的任何参数.因此,您的行为非常简单:如果JSON解析正常,则JSON.parse返回一个对象; 如果没有,它会抛出一个你可以捕获的异常,try / catch就像这样:

webSocket.on('message', function (message) {
  var messageObject;

  try {
    messageObject = JSON.parse(message);
  } catch (e) {
    return console.error(e);
  }

  // At this point, messageObject contains your parsed message as an object.
}
Run Code Online (Sandbox Code Playgroud)

而已!:-)

  • 这仍然有效还是有变化? (5认同)