|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Mikhail Polykovsky 2:5020/400 13 Nov 2003 22:05:19 To : Sergey Skvortsov Subject : Re[4]: Hаследование? -------------------------------------------------------------------------------- SS>>> то что ты хочешь - странно и противоестественно, MP>> А почему? (хоть в мыло напиши, если здесь SS> оффтопик). Я просто хочу MP>> создать несколько классов, умеющих внятно SS> объяснить, что с ними MP>> приключилось. Посоветуешь другой вариант? SS> ты смешиваешь ошибки класса и ошибки объекта SS> класса. первое - нечто дикое. ошибки у класса это SS> когда в new() передана какая-то фигня? Хм. А почему нельзя-то? DBI.pm вон использует... SS> тогда два варианта: SS> 1. кидаем exception - например по croak - и ловим SS> внешним eval {} Ага. Понял. А eval не сильно затормаживает? SS> 2. возвращаем undef - и детектим по проверке SS> результата my $c=Clone->>new(); SS> die "yo! can't create an instance of Child" SS> unless defined $c; вот я так и делал обычно... SS> Хранить в классе/объекте аналог C-шного errno (как SS> у тебя) - чревато. SS> Хотя бы тем, что его надо очищать после/внутри SS> каждого вызова, где он применим. Hу почему же? Тут же некая "транзакционность" присутствует. Если вернули undef, значит errstr установлен в последнее сообщение. Если нет - ну и фиг с ним. SS> Это просто концептуально неправильно - смешение парадигм. Hу хоть ты мне объясни, что это такое! Или ссылку кинь. Яндекс молчит в тряпочку... SS> Впрочем, если это run-away скрипт - то пиши как хочешь. Это значит написать и быстро убежать? Hет, я так не хочу. -- Михаил Полыковский http://copi.ru/27690/ Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.1 * Origin: UTC (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/9096e8120f04.html, оценка из 5, голосов 10
|