Как манипулировать ParseException в Javacc - PullRequest
0 голосов
/ 15 апреля 2019

Я создал лексер и парсер в javacc, и я пытаюсь обрабатывать ошибки.Сначала я попытался использовать блоки try-catch для каждого символа, который отсутствует в синтаксическом анализаторе, но я прочитал в Интернете кое-что о перехвате ParseException только один раз в главном блоке с помощью try-catch и манипулировании им, чтобы получить последний прочитанный токен и следующий токен ибольше похожих вещей.Я пытаюсь узнать об этом больше, но больше ничего не встречал, так как в большинстве мест используются блоки try-catch.

До сих пор я знаю, что могу сделать: e.currentToken.image, если я поймаю (ParseException e), а также e.getErrorOffset (), но хотел бы знать, есть ли другие методы, которые можно использовать дляРаспечатайте более понятную и информативную ошибку.Если у кого-то есть примеры или я могу направить меня к какому-либо документу. Спасибо заранее.

1 Ответ

1 голос
/ 15 апреля 2019

Лучший способ получить лучшие (или другие) сообщения об ошибках - это изменить сам класс ParseException.

...