[Moscow.pm] AnyEvent и die

Peter Vereshagin peter на vereshagin.org
Пт Дек 10 00:11:44 PST 2010


I feel summer creepin' in and I'm tired of this town again, moscow-pm!
2010/12/09 12:00:17 -0800 moscow-pm-request на pm.org => To moscow-pm на pm.org :

> 2010/12/8 Mons Anderson <inthrax на gmail.com>:
> > On Tuesday 07 December 2010 17:42:40 Ruslan Zakirov wrote:

> > и в обработчике
> >
> > sub {
> > ...
> >   eval { ... ; 1 } or return $args{cb}(undef, $@);
> > ...
> > }
> 
> Вот и получается, что в каждом обработчике, который вызывается из
> loop'а придется вставить eval и еще по хорошему локализовать $@ перед
> этим. Как-то после этого некрасиво код выглядит.
> 
> Интересно можно ли сделать следующий синтакс с помощью Devel::Declare:
> 
> do {
>   ...
> } on_error $error_cb;

насчёт AE не в курсе, но Try::Tiny умеет

try {
        die "foo";
} catch {
        warn "caught error: $_"; # not $@
};

рекомендован в книге Modern Perl, а кому мало, те берут Exception::Class

73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB  12F8 0CE1 4AAC A0E2 6627)
--
http://vereshagin.org


Подробная информация о списке рассылки Moscow-pm