44

次の行で JSON を解析できない場合、ノード サーバーが停止します。

var json = JSON.parse(message);

ノードで例外をキャッチする方法についてこのスレッドを読みましたが、このステートメントの周りに try および catch ブロックをラップする適切な方法が何であるかはまだわかりません。私の目標は、例外をキャッチしてエラーをコンソールに記録し、もちろんサーバーを稼働させ続けることです。ありがとうございました。

4

1 に答える 1

84

大丈夫だよー!:-)

JSON.parseerrNode.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.
}

それでおしまい!:-)

于 2013-01-18T04:01:02.260 に答える