Обработка ошибок

 

CodeIgniter позволяет вам встроить в свои приложения учёт и протоколирование ошибок при помощи функций, описанных далее на этой странице.
Примечание: По умолчанию CodeIgniter отображает все PHP-ошибки. Возможно вы захотите изменить данное поведение после завершения этапа разработки. Функцию error_reporting() можно найти в начале исходного кода вашего главного файла index.php. Отключение отображения ошибок НЕ препятствует протоколированию ошибок в файл.
В отличие от большинства систем, в CodeIgniter функции обработки ошибок являются простыми процедурами, доступными глобально в рамках всего приложения. Такой подход позволяет вызывать функции обработки ошибок не обращая внимания на области видимости классов или методов.

Список функций, позволяющих обрабатывать ошибки:

show_error('message')

Эта функция выведет сообщение об ошибке используя шаблон из файла
application/errors/error_general.php

show_404('page')

Данная функция выведет сообщение об ошибке 404 используя шаблон из файла
application/errors/error_404.php
Эта функция предполагает, что переданный параметр является путем к странице, которая не найдена. Обратите внимание на то, что CodeIgniter самостоятельно отображает ошибку 404, если не обнаружен класс или метод контроллера.

log_message('level','message')

Данная функция позволяет вам записывать сообщения об ошибках в файлы протокола. Вы должны передать один из трёх "уровней" в качестве первого параметра, указывая на тип сообщения (debug, error, info - отладка, ошибка, информация), и собственно сообщение в качестве второго параметра. К примеру:

  1. if ($some_var == "")
  2. {
  3. log_message('error', 'Some variable did not contain a value.');
  4. }
  5. else
  6. {
  7. log_message('debug', 'Some variable was correctly set');
  8. }
  9.  
  10. log_message('info', 'The purpose of some variable is to provide some value.');

Существуют три типа сообщений:
1. Сообщения об ошибках. Это собственно ошибки PHP или пользовательские сообщения об ошибках.
2. Отладочные сообщения. Эти сообщения помогают при отладке приложения. К примеру, при инициализации класса вы можете отметить сообщение об этом событии в качестве отладочной информации.
3. Информационные сообщения. Эти сообщения имеют низший приоритет, просто предоставляют информацию о каком-либо процессе (событии). CodeIgniter исходно не генерирует каких либо информационных сообщений, но вы можете использовать их в своём приложении.

Примечание: Для того, что файлы протокола действительно велись, необходимо установить права на запись на каталог "logs". Кроме того, вы можете установить уровень протоколирования. Вы можете, к примеру, указать чтобы протоколировались только сообщения об ошибках, а остальные типы сообщений игнорировались. Если вы установите нулевой уровень, то файлы протокола вестись не будут.

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <b> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <h2> <h3> <h4> <table> <tr> <td> <th>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов
4 + 2 =
Решите простой математический пример и введите результат. К примеру, для вопроса 1+3 нужно ввести 4

Вход в систему

Последние комментарии