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

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Правильная обработка ошибок улучшает надежность приложения.

Базовая обработка
Код:
<?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);
});
?>

Важные моменты:
- Не показывайте ошибки пользователям
- Логируйте все ошибки
- Обрабатывайте исключения правильно
- Тестируйте обработку ошибок

Правильная обработка ошибок улучшает надежность!
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху