[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: