Menu
Coddy logo textTech

Создание пользовательского исключения

Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 56 из 68.

Хотя встроенный класс Exception в PHP хорошо подходит для общей обработки ошибок, создание собственных пользовательских классов исключений позволяет выводить гораздо более конкретные и информативные сообщения об ошибках. Пользовательские исключения помогают различать типы проблем в вашем коде и обрабатывать их соответствующим образом.

Чтобы создать пользовательское исключение, вы расширяете базовый класс PHP Exception, используя ключевое слово extends. Это наследование наделяет ваше пользовательское исключение всей функциональностью стандартного исключения, позволяя при этом добавить собственное специфическое поведение или просто дать более описательное имя.

<?php
class InvalidEmailException extends Exception {
    // Класс может быть пустым — он наследует всё от Exception
}

// Вы также можете добавить пользовательские свойства или методы
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Сила пользовательских исключений заключается в их описательных именах и возможности перехватывать конкретные типы исключений. Вместо того чтобы перехватывать общее Exception, вы можете перехватывать InvalidEmailException, DatabaseConnectionException или любое другое созданное вами пользовательское исключение. Это делает вашу обработку ошибок более точной, а ваш код — более удобным в сопровождении.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

challenge icon

Задание

Легко

Вы получите один входной параметр: строку, представляющую имя класса исключения. Этот ввод будет состоять из одного слова, которое должно быть использовано в качестве имени для вашего пользовательского класса исключения (например: NegativeBalanceException или InvalidUsernameException).

Прочитайте входные данные и создайте пользовательский класс исключения, используя предоставленное имя. Ваш пользовательский класс исключения должен наследоваться от базового класса PHP Exception. После создания класса выведите "Custom exception created: ", а затем имя класса, которое вы получили на вход.

Формат входных данных: Одна строка, содержащая строку, представляющую имя класса исключения (например: InvalidAgeException)

Ожидаемый результат: Custom exception created: за которым следует имя класса исключения

Шпаргалка

Чтобы создать пользовательские исключения в PHP, расширьте базовый класс Exception, используя ключевое слово extends:

<?php
class InvalidEmailException extends Exception {
    // Класс может быть пустым — он наследует всё от Exception
}

// Вы также можете добавить пользовательские свойства или методы
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Пользовательские исключения предоставляют более конкретные и осмысленные сообщения об ошибках, позволяя перехватывать определенные типы исключений вместо общих объектов Exception. Это делает обработку ошибок более точной, а код — более удобным в сопровождении.

Попробуйте сами

<?php
// Чтение имени класса исключения
$className = trim(fgets(STDIN));

// TODO: Напишите ниже свой код для создания пользовательского класса исключения


// Вывод результата
echo "Custom exception created: " . $className;
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком