Сообщения об ошибках 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' . 
Другие вопросы по тегам