Я боролся этим вопросом в течение половины недели без толка, моя проблема:JS Исключение Stack: Разбор JSON
с помощью Node.js 0.10.12 для разбора JSON файлов следующим образом:
var invalidJson = '{ this is bad }';
try {
JSON.parse(invalidJson);
}
catch (exc) {
console.log(exc.stack);
throw exc;
}
выход:
SyntaxError: Unexpected token t
at Object.parse (native)
at Object.<anonymous> (test.js:7:10)
...
at node.js:901:3
test.js:12
throw exc;
..And then a duplicate of 'SyntaxError: Unexpected token t..' because I re-throw the exception
Теперь, при выполнении:
JSON.parse(invalidJson);
без Ьги {} {} улова
Я получаю эту ошибку:
undefined:1
{ this is bad }
^
SyntaxError: Unexpected token t
at Object.parse (native)
at Object.<anonymous> (test.js:17:6)
...
at node.js:901:3
это сообщение об ошибке говорит мне, где именно синтаксический анализ JSON сломался. Когда файл JSON велик, практически невозможно найти ошибку без этих подробностей.
Как передать это описательное сообщение об ошибке в свой собственный try {} catch {} обработчик исключений?
спасибо!
К сожалению, я еще не нашел решение, но кто-то это сделал. Я использую этот онлайн-инструмент для проверки ошибок JSON. Http://www.jsoneditoronline.org/ –