У меня есть приложение CodeIgniter, которое обычно работает так, как хотелось бы, но иногда пользователь переходит на страницу, которая не существует, и встречается с недружественной ошибкой. Я хотел бы автоматически обнаружить ошибку и отобразить полезную информацию для пользователя (а не ошибки PHP). Я прочитал руководство пользователя CodeIgniter, но я не смог найти соответствующий раздел.
Как обрабатывать ошибку, не найденную в CodeIgniter, и отображать собственный пользовательский контент?
Если вы ищете обработку ошибок на своей собственной странице, вы можете изменить шаблоны ошибок, найденные в application/errors
. Если у вас есть причина на основе вашего собственного кода, вы можете вручную отправить пользователя на одну из этих страниц, используя show_404
или show_error
– проверьте страницу обработки ошибок в официальных документах.
Попробуйте эти функции codeigniter
show_404('Your error message'); show_error('Your error message');
вы можете найти более подробную информацию по адресу http://codeigniter.com/user_guide/general/errors.html
пример:
if ($some_error) //condition { show_error('Error'); }
Вы должны проверить значения ошибок и исключить исключения. Это концепция общего программирования – не что-то конкретное для Conigniter или PHP.
Тестирование для возвращаемых значений ошибки:
if (!sort($array)) { echo "Could not sort $array."; }
Исключение исключений:
try { $someFunction($data); } catch (Exception $e) { echo "Something went wrong"; }
Разумеется, напишите полезные сообщения об ошибках с соответствующей информацией, которая поможет пользователю найти их проблему и / или поможет исправить вашу ошибку. Вы можете получить продвинутый и использовать что-то вроде set_error_handler (): http://php.net/manual/en/function.set-error-handler.php
Я нашел эту интересную статью: http://www.derekallard.com/blog/post/error-handling-in-codeigniter/
Я не уверен, что он отражает текущую версию CI, так как с 2007 года.