Подтвердить что ты не робот

Исключение исключения в node во время JSON.parse

Мой сервер node умирает, когда он не может разобрать JSON в следующей строке:

var json = JSON.parse(message);

Я прочитал этот поток о том, как поймать исключения в node, но я до сих пор не уверен, что это правильный способ обернуть блок try и catch это утверждение. Моя цель - поймать исключение и зарегистрировать ошибку на консоли и, конечно же, сохранить сервер в живых. Спасибо.

4b9b3361

Ответ 1

Все хорошо!: -)

JSON.parse работает синхронно и ничего не знает о параметре err, который часто используется в Node.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.
}

Что это!: -)