Активный
- Тема Автор
- #1
Правильная обработка ошибок улучшает надежность приложения.
Базовая обработка
Try-catch блоки
Пользовательские исключения
Логирование ошибок
Важные моменты:
- Не показывайте ошибки пользователям
- Логируйте все ошибки
- Обрабатывайте исключения правильно
- Тестируйте обработку ошибок
Правильная обработка ошибок улучшает надежность!
Базовая обработка
Код:
<?php
// Отображение ошибок (только для разработки)
ini_set("display_errors", 1);
error_reporting(E_ALL);
// Для продакшена
ini_set("display_errors", 0);
error_reporting(0);
ini_set("log_errors", 1);
ini_set("error_log", "error.log");
?>
Try-catch блоки
Код:
<?php
try {
$result = 10 / 0;
} catch(DivisionByZeroError $e) {
echo "Ошибка деления на ноль: " . $e->getMessage();
} catch(Exception $e) {
echo "Общая ошибка: " . $e->getMessage();
}
?>
Пользовательские исключения
Код:
<?php
class CustomException extends Exception {
public function errorMessage() {
return "Ошибка: " . $this->getMessage();
}
}
try {
throw new CustomException("Кастомная ошибка");
} catch(CustomException $e) {
echo $e->errorMessage();
}
?>
Логирование ошибок
Код:
<?php
function logError($message, $file, $line) {
$log = date("Y-m-d H:i:s") . " - $message in $file on line $line\n";
file_put_contents("error.log", $log, FILE_APPEND);
}
set_error_handler(function($errno, $errstr, $errfile, $errline) {
logError($errstr, $errfile, $errline);
});
?>
Важные моменты:
- Не показывайте ошибки пользователям
- Логируйте все ошибки
- Обрабатывайте исключения правильно
- Тестируйте обработку ошибок
Правильная обработка ошибок улучшает надежность!