Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     05 Feb 2003  17:59:45
 To : Andrey Sapozhnikov
 Subject : Re: died at (eval 1) line 1
 -------------------------------------------------------------------------------- 
 
 Andrey Sapozhnikov <sapa@icb.chel.su> wrote:
 
 >> 
 >> Hет, в которой из двух сотен таких строк (подсовываемых eval) и в каком месте
 >> произошла ошибка. В каком месте - die расскажет, а вот в котором из 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>         }
 
 Что-то я не въехал. Совсем. call-with-current-continuation в перле
 по-моему не бывает.
 
 Ситуация такая - мы уверены, что компиляция анонимной процедуры пройдет.
 Пробовали уже. В момент заливки в базу. Там все просто. И сообщение
 об ошибке корректное там выдается, и курсор в редакторе на место ошибки
 позиционируется.
 
 Речь идет об ошибке, возникающей во время вызова $fr.
 
 Каким образом оттуда управление попадет на строчку 
  die "ID $id - $@" ?
 Хотя... Вот класть в базу строки
 вида
 
 sub {
   return eval {
     some_code
   };
   die "id:$@" if ($@);
 }
 
 вместо 
 
 sub {
   some_code
 }
 
 мы, наверное, можем себе позволить.
  
 AS> и вызывать ее потом вместо eval
 
 AS> my $fr = my_eval $id, 'sub { my $test; $test->method() }';
 AS> $fr->();
 
 AS> Андрей
 -- 
 http://www.communiware.ru                     http://www.ice.ru/~vitus
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 died at (eval 1) line 1   Artem Chuprina   04 Feb 2003 14:21:00 
 Re: died at (eval 1) line 1   Konstantin Stupnik   04 Feb 2003 14:54:09 
 Re: died at (eval 1) line 1   Artem Chuprina   04 Feb 2003 15:32:02 
 Re: died at (eval 1) line 1   Konstantin Stupnik   04 Feb 2003 16:06:44 
 Re: died at (eval 1) line 1   Artem Chuprina   04 Feb 2003 16:30:20 
 Re: died at (eval 1) line 1   Andrey Sapozhnikov   05 Feb 2003 17:47:29 
 Re: died at (eval 1) line 1   Victor Wagner   05 Feb 2003 17:59:45 
 Re: died at (eval 1) line 1   Artem Chuprina   05 Feb 2003 18:07:58 
 Re: died at (eval 1) line 1   Andrey Sapozhnikov   05 Feb 2003 19:49:06 
 Re: died at (eval 1) line 1   Artem Chuprina   05 Feb 2003 19:53:39 
 Re: died at (eval 1) line 1   Victor Wagner   05 Feb 2003 19:58:45 
 Re: died at (eval 1) line 1   Anatoly Moskovsky   06 Feb 2003 16:23:13 
 Re: died at (eval 1) line 1   Artem Chuprina   06 Feb 2003 20:23:41 
 Re: died at (eval 1) line 1   Andrey Sapozhnikov   07 Feb 2003 18:23:50 
 Re: died at (eval 1) line 1   Andrey Sapozhnikov   07 Feb 2003 18:31:06 
Архивное /ru.perl/1517815c68f99.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional