|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Stupnik 2:5020/400 24 Jul 2002 13:23:31 To : Artem Chuprina Subject : Re: stack trace --------------------------------------------------------------------------------
Hello, Artem!
К этому можно еще прикрутить
доделанный чуток пример про try/catch :)
sub try (&@)
{
my($try,$handler) = @_;
eval { &$try };
my $err=$@;
if ($err)
{
local $_ = $err;
if($handler->{catch})
{
&{$handler->{catch}};
}
}
if($handler->{finally})
{
&{$handler->{finally}};
}
if(!$handler->{catch} && $err)
{
die $err;
}
}
sub catch(&;@){{catch=>$_[0],finally=>$_[1]?$_[1]->{finally}:undef}}
sub finally(&){{finally=>$_[0]}}
try {
print "stuff\n";
die "phooey";
} catch {
print "Except:$_\n";
} finally {
print "finally\n";
};
try{
print "hello\n";
die "zzz";
}finally{
print "finally2\n";
};
--
Best regards,
Konstantin.
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488b6f0ac09.html, оценка из 5, голосов 10
|