|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 05 Feb 2003 18:07:58 To : Andrey Sapozhnikov Subject : Re: died at (eval 1) line 1 -------------------------------------------------------------------------------- Здравствуй, Andrey Sapozhnikov. >> KS> А чего хочется всё же выяснить? >> KS> Откуда был вызов CODEREF-а который привёл к die? AS> > AS> > Hет, в которой из двух сотен таких строк (подсовываемых eval) и в каком AS> > месте произошла ошибка. В каком месте - die расскажет, а вот в котором AS> > из eval... AS> А написать свой eval которому передавать кроме строчки ее ID? типа: AS> sub my_eval { AS> my $id = shift; AS> if (wantarray) { AS> my @res; AS> { AS> local $SIG{__DIE__}; AS> @res = eval @_; AS> } AS> die "ID: $id - $@" if $@; AS> return @res; AS> } AS> my $res; AS> { AS> local $SIG{__DIE__}; AS> $res = eval @_; AS> } AS> die "ID: $id - $@" if $@; AS> return $res; AS> } AS> и вызывать ее потом вместо eval AS> my $fr = my_eval $id, 'sub { my $test; $test->method() }'; AS> $fr->(); Это ловит ошибки в eval, а мне надо в выполнении его результата. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14454998bb1ee.html, оценка из 5, голосов 10
|