Forum Webscript.Ru

Программирование => Perl => Тема начата: frenky от 07 Июля 2005, 18:41:02

Название: массив ошибок
Отправлено: frenky от 07 Июля 2005, 18:41:02
Как можно достать все ошибки которые произошли в перловом скрипте ?  может есть какой нибудь массив ошибок?
Название: массив ошибок
Отправлено: Error202 от 08 Июля 2005, 09:17:37
Вот статейка на эту тему...
(Если я правильно понял вопрос)
Статья (http://www.dklab.ru/chicken/nablas/4.html)
Название: массив ошибок
Отправлено: Green Kakadu от 10 Июля 2005, 02:46:41
Цитировать
frenky:
Как можно достать все ошибки которые произошли в перловом скрипте ? может есть какой нибудь массив ошибок?

ты можешь перехватывать ошибки с помощью eval :

eval {&main};
if ($@) {
чего-нибудь творим... или выводим ее
print "ля-дя-дя $@";
}

можно таким образом "проверять" сомнительные, потенциально-опасные блоки, и сообщения об ошибках накапливать в каком нибудь массиве

eval {&do_horror};
if ($@) {
push (@MY_ERRORS, "Ошибка при выполнении блока horror: $@");
}

Вариант 2:
если интересуют предупреждения, то можешь написать свой обработчк  на $SIG{__WARN__}=\\&my_warn_handler;

Вариант 3
например воспользоваться модулями
Error (http://search.cpan.org/~birney/bioperl-1.4/examples/root/lib/Error.pm)   или
 Exception::Class::TryCatch (http://search.cpan.org/~dagolden/Exception-Class-TryCatch-1.07/lib/Exception/Class/TryCatch.pm)