2011-01-06 2 views
0

Я искал это, но это слишком универсально, чтобы подтягивать результаты. Я вполне уверен, что это можно сделать, но я не могу найти правильные сообщения. В основном я использую CodeIgniter в качестве своего заднего конца, и я делаю исключения из EVERYWHERE. Когда происходит исключение, я хочу бросить пользователя на страницу с ошибкой, но я также хочу включить сообщение об ошибке и трассировку стека, чтобы я мог сохранить его в моей таблице ошибок. В худшем случае я бы поставил весь мой код в цикл try-catch, но это смешно. Есть ли что-нибудь, что я могу сделать с чем-то вроде файла .htaccess? Помните, мне нужно исключение, которое будет передано вместе с перенаправлением.Переадресовать php-ошибку на страницу с ошибкой вместе с ошибкой.

ответ

1

Посмотрите на функции set_exception_handler и set_error_handler, я думаю, это то, что вы ищете. Также на сессии Error Handling по документации PHP.

+0

Именно это я и искал. В чем разница между set_exception_handler и set_error_handler? Я столкнулся с set_exception_handler, и кто-то жаловался, что он не поймал все ошибки. – JohnathanKong

+0

Функция, заданная в 'set_exception_handler', будет вызываться, если исключение выбрано вне блока try/catch, если вы поймаете исключение, функция не будет запущена, функция на' set_error_handler' будет обрабатывать любую ошибку, возникающую в скрипте , он не поймает E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR и E_COMPILE_WARNING, поскольку, когда произошли эти ошибки, ваш обработчик еще не был зарегистрирован, и, как и в документации, большая часть E_STRICT не будет улавливаться, если она встречается в том же файле, где Вызывается 'set_error_handler'. – Alisson

Смежные вопросы