| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| Все. Разобрался. Времени жалко...эх. Скрипт изначально не мой и в конце скрипта была обработка ошибок, которую я проглядел. Спасибо всем, кто поучавтсвовал. Сори за беспокойство. |