Re: [Ruby] Обработка исключений метода eval
SoNaR
sonar на scli.ru
Чт Июл 1 16:01:54 MSD 2004
Уважаемый SoNaR,
Thursday, July 1, 2004, 3:54:49 PM, Вы писали следующее:
S> Задача состоит в том, чтобы проверить корректность некоторой строки
S> на соответствие синтаксису Ruby, а заодно и вычислить значение.
S> begin
S> eval('2+2+')
S> rescue
S> p "error"
S> end
S> Вылезает неперехватываемое исключение... почему и как с этим
S> бороться?
S> ЗЫ. С другой стороны, правильнее было бы сделать регулярное
S> выражение, которое бы сузило область применения eval и проверяло бы
S> соответствие выражения именно этому подмножеству языка.
Решение было найдено... простое и гениальное. :-) Надо было явно
обрабатывать ошибку SyntaxError.
begin
eval('2+2+')
rescue SyntaxError
p "error"
end
PS. Кстати, заходите на http://rubynews.ru
---
г.Москва, Научный центр правовой информации при Минюсте РФ
Шипиев Роман Николаевич
Начальник отдела проектирования, программирования
и сопровождения информационных систем.
Тел: (095) 459-05-12
E-Mail: sonar на scli.ru
UIN: 289794359
Подробная информация о списке рассылки Ruby