Re: Обработка исключений на perl
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 17 Nov 2005 13:04:15 +0300:
>> Потому что return - это не goto.
DEO> да это я понимаю
DEO> просто задачи: выход из (итерации) цикла внутри eval решабельны,
DEO> а выход из функции нет
DEO> вот и спрашиваю :)
"А вы так не делайте" (c). Отнесись к eval как к вызову функции. Тогда
многое станет понятнее. В частности, почему
return eval { ... } unless $@
работать в принципе не может ни в каком варианте. Потом заведи
переменную и расслабься. Если ОЧЕНЬ-ОЧЕНЬ хочется обойтись без
переменной, можно извратиться через $@, вместо return выкидывая из eval
специальный объект исключения и анализируя его потом. Но не надо.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
The Eclipse Platform is an open and extensible platform
for anything and yet nothing in particular.
apt-cache show eclipse-platform
Reply to: