json - 在 JSON.parse 期间在 Node 中捕获异常

标签 json node.js parsing exception-handling

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

var json = JSON.parse(message);

我读过 this thread关于如何在 Node 中捕获异常,但我仍然不确定在此语句周围包装 try 和 catch block 的正确方法是什么。我的目标是捕获异常并将错误记录到控制台,当然还要让服务器保持事件状态。谢谢。

最佳答案

一切都好! :-)

JSON.parse 同步运行,并且不知道 Node.js 中经常使用的 err 参数。因此,您的行为非常简单:如果 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.
}

就是这样! :-)

关于json - 在 JSON.parse 期间在 Node 中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14392110/

相关文章:

C++运算符的多重定义>>

ios:将字符串解析为数组

json - 使用 Scala 和 json4s 反序列化为 java 对象

json - TSQL FOR JSON 嵌套值

javascript - 在动态创建的 div 之间创建分区

node.js - 如何在 Node.js 中关闭 tls 套接字连接?

javascript - NodeJS-App - DOM 操作?

xml - 如何通过Lua解析多次出现的xml文件的特定标签的属性值?

php - 使用 PHP 打印 JSON 时间戳格式

node.js - 跨关系的可选查询