Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Perl mason CGI вывод ошибок


Автор: mastercz 5.3.2009, 10:01
Добрый день. 
Подскажите пожалуйста как убрать из вывод ошибок в браузер.

В mason'е указан парамерт  error_mode и его значения output" или "fatal" , однако я так и не нашел куда их корректно прописывать (желательно, в конфиг апача).  Добавил в конфиг следующую строчку :PerlAddVar MasonErrorMode "fatal", одако в случае синтаксической ошибки выдает ошибку 500 взамен заявленной 501, может быть этот парамерт нужно использовать иначе ?

И второе.  при выдаче ошибки базой данных (в данном случае о запрете обращения), браузер показывает следующее

CGI=HASH(0xad56dbc) 
7 
ERROR: доступ запрещён для связи ...

Чем этот вывод регулируеться и как его можно убрать.
Заранее спасибо за ответ.

Автор: NuINu 5.3.2009, 14:32
переопределите STDOUT при загрузке скрипта

Автор: sir_nuf_nuf 5.3.2009, 23:14
NuINu, STDERR а не STDOUT.
Но это хак. В таких случаях нужно читать документацию и искать какой опцией это отключается

Автор: mastercz 11.3.2009, 03:40
Ничего не понимаю ...
Сообщение высвечиваеться в случае ошибки при выполнинии функций DBI.
При создании класса: RaiseError =>1, PrintError=>1 
В случае когда RaiseError =>0 сообщение не появляется, однако если я принудительно остановлю работу скрипта после выполнения запроса, то сообщение всеже выводиться в браузер. Любопытно, что PrintError никак не видоизменяет сообщение в зависимости от состояния [0, 1]. В $sth->err значение 7; в
$sth->errstr значение "ERROR: доступ запрещён для связи strs".
подскажите пожалуйста, где копать. Как заставить скрипт не выводить сообщение.
Заранее спасибо за ответ.

Автор: mastercz 11.3.2009, 10:01
Все. Разобрался. Времени жалко...эх. Скрипт изначально не мой и в конце скрипта была обработка ошибок, которую я проглядел.
Спасибо всем, кто поучавтсвовал. Сори за беспокойство.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)