Сообщения об ошибках Jint 2/ECMAScript немного отсутствуют
Я нахожусь в процессе изменения Javascript-движка Jint 2.0.0 для моих ставок, но обнаруживаю, что существует серьезное отсутствие сообщений об ошибках для возврата пользователю. Мое приложение должно быть пригодным для новичков в JS, поэтому я действительно хочу иметь возможность дать хороший отзыв о любых ошибках.
Документация для Jint, ну, в общем, минимальная, и я проверил спецификацию ECMAScript, и они также не предоставляют ничего полезного. Посмотрите этот пример PutValue. Это просто указывает, что в данной точке:
Msgstr "Бросить исключение ReferenceError."
Что совершенно бесполезно.
У меня была идея попытаться воспроизвести каждую возможную ошибку в законченной отлаженной реализации ECMAScript, такой как V8, и посмотреть, что у них есть, но, черт возьми, это звучит как большая работа. И я рискую не получить полный массив возможных возвращаемых сообщений для каждой ошибки.
Я собираюсь загрузить исходный код V8 и посмотреть, есть ли у них список сообщений об ошибках, хранящихся где-то очевидным. Кто-нибудь знает, существует ли это, и если да, то где это?
Помимо этого я рисую бланк. У кого-нибудь есть идеи? Я был бы чрезвычайно благодарен за все. Спасибо!
1 ответ
Для тех, кто ищет это в будущем, получите источник V8:
https://code.google.com/p/v8-wiki/wiki/UsingGit
и посмотрите в src / messages.js. Они прямо наверху файла. Вам нужно будет выполнить поиск по названию ошибки, чтобы найти ее место в исходном коде. На Linux или в Cygwin, вы можете использовать, например,
grep -R 'unexpected_token' .