|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Victor Wagner 2:5020/400 05 May 2003 23:22:15 To : "Serg Chervjakov" Subject : Re: Вопрос по eval -------------------------------------------------------------------------------- Serg Chervjakov <serg@enseza.elcom.ru> wrote: AC>> eval BLOCK предназначен отнюдь не для любителей совершать синтаксические AC>> ошибки, а вовсе даже и наоборот. А твой вопрос не имеет смысла без AC>> информации о том, откуда у тебя взялся такой текст программы, что он не AC>> содержится в переменной или внешнем файле и попадает eval. Скорее всего, AC>> чинить надо именно в этом месте. SC> Ага. eval блок - наверное позволяет объявлять внутри себя переменные по my SC> (что б они на ост. прогу не работали)? Hу это понятно. С помощью этого же SC> eval блока я отлавливаю несинтаксические ошибки (ну например - постоянно SC> вылавливаю ошибку на тему неустановленности Date::Calc:) ). Все дело в том, SC> что кусок Это синтаксическая. Вот когда даза банных транзакцию отвалила по причине несоблюдения констрейнта, это как раз то, что eval-ом ловить надо. SC> программы который я обрабатываю находится в самом скрипте. Eval я использую, SC> что бы отловить ошибки, которые успешно записываются в $@, потому как очень Кстати, если об ошибке сигнализирует die в твоем скрипте, там совершенно не обязательно должна быть строка - может быть сколь угодно хитроумный объект. SC> редко стал попадаться хостинг с Error log, но даже если есть error log, то SC> он не редко растет до невероятных размеров. Причем, те ошибки которые SC> туда записываются - те ошибки о которых я знаю и которые для меня ошибками SC> не являются, потому и исправлять я их не собираюсь. Второй вариант - мне Вообще-то стоит не допускать таких ошибок. Хотя бы для того, чтобы логи не разрастались. Аккуратное программирование в итоге обычно окупается. SC> иногданеобходимо проверить на работоспособность лишь конкретный кусок, что SC> бы выловить с помощью $@ ошибку. Hо это работает и с обычным, блочным SC> eval'ом. Hо все равно я предпочитаю, что бы она обрабатывала внутренности SC> независимо от синтаксиса:). Hо нельзя, значит нельзя. Вот если бы можно было SC> сделать так, Да можно, можно. Только надо понимать что ты на самом деле хочешь сделать. Для этого нужно, видимо, на месяц другой отвлечься от хостингов и cgi, и пописать нормальные программы, выполняющиеся на твоей машине. Желательно без посредства web-серверов и браузеров. Параллельно читая умные книжки. SC> что бы в случае любой ошибки у меня вызывалась спец функция, в кот. SC> приходило бы полное описание ошибки - вот это было бы здорово. -- Америка - нация, основанная людьми, выгнанными из Британии за ханжество --- ifmail v.2.15dev5 * Origin: Free Net of Leninsky,45 (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1517817a8f713.html, оценка из 5, голосов 10
|