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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     04 Feb 2003  14:21:00
 To : All
 Subject : died at (eval 1) line 1
 -------------------------------------------------------------------------------- 
 
 ==== 8< [test.pl] ====
 #!/usr/bin/perl -w
 use strict;
 my $fr = eval 'sub { my $test; $test->method() }';
 
 $fr->()
 
 ==== >8 [test.pl] ====
 
 Can't call method "method" on an undefined value at (eval 1) line 1.
 
 В реальной жизни таких вот функций пара сотен. В момент выполнения eval я
 знаю, к какой сущности (объекту в базе данных) он относится. Хочется уметь
 получить в выводе die имя этой сущности вместо или в дополнение к (eval 1).
 Лучше вместо, поскольку мне совершенно не уперлось само (eval 1). Как?
 
 Поведения $SIG{__DIE__} я боюсь - судя по документации, в любой момент могут
 оторвать его вызов внутри eval, да и стекать их неудобно...
 
 Вешать проверку на $test до вызова метода не предлагать. Это сильно упрощенный
 пример, в реальной жизни все гораздо более хуже. А вот заменить 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)
 
 

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

 Тема:    Автор:    Дата:  
 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/144541f9fb915.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional