Есть 3 типа ошибок:
Системные ошибки, такие как предупреждения или фатальные ошибки, возникающие в PHP. 404 ошибки также в этой категории.
Ошибки базы данных из-за неправильного или ошибочного запроса или соединения с базой данных.
- Логические ошибки, например, когда что-то пошло не так во внутренней работе вашего приложения, не связанной с сервером или базой данных. Например, если вы ожидали, что определенный файл будет в данной папке, но это не так.
Лучший способ создать класс ErrorHandler
, который обрабатывает все три типа ошибок. Для системных ошибок вы должны использовать set_error_handler
или прочитать одно из онлайн-руководств, например this .
Для базы данных я предлагаю использовать централизованный класс Database, который обрабатывает все запросы. Используйте что-то вроде этого:
$result=mysql_query($sql);
if (! $result)
{
$ErrorHandler->dbError(mysql_error(), $sql);
}
В случае логических ошибок, таких как ошибка, связанная с отсутствием ожидаемого файла или записи в базе данных, вы вызываете тот же класс ErrorHandler и делаете что-то вроде:
if ($logicalError)
{
$ErrorHandler->appError('Something bad happened',__LINE__, __FILE__);
$ErrorHandler->showAppErrorPage();
}
Здесь константы __FILE__
и __LINE__
будут точно указывать место, где произошла эта ошибка. Читайте о них на сайте php.net .
Ваш класс ErrorHandler
может записывать все ошибки в файл журнала, отправлять вам электронные письма или даже отправлять SMS / текстовые сообщения на мобильный телефон. Его также можно использовать для перенаправления пользователя на страницу ошибки.