6 ноября 2011 г.

"Unexpected token u" в Chrome


Столкнулся в Chrome (v14) с таким сообщением ошибки:
"Uncaught SyntaxError: Unexpected token u"
Проблема проста особенно для языков с динамической типизацией, на вход метода JSON.parse попала undefined.
Обычно такое сообщение возникает, когда в исходном тексте попадаются лишние символы. Но в данном примере стандартный метод просто решил выкинуть ошибку с невнятным описанием, вместо того, чтобы вернуть undefined. Баг в Chrome?

Ошибку можно с имитировать:
var demo1={field1:"a",field2:"b"};
var str=JSON.stringify(demo1);
console.log(str);
console.dir(JSON.parse(str)); // Ok
console.dir(JSON.parse(undefined)); // Exception

Комментариев нет:

Отправить комментарий