Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Как правильно создать и хранить классы собственных исключения?

Всем привет! Я постоянно использую в классах собственные исключения. Например класс комментариев должен выбрасывать исключение "CommentException", а класс добавления постов "AddPostException", для того, чтобы не останавливать выполнение всего скрипта используя просто \Exception, потому что он используется в точке входа, для обработки и отдачи всех ошибок.

Поэтому приходится создавать пустые подклассы CommentException, AddPostException:
class CommentException extends \Exception{};
class AddPostException extends \Exception{};

Где обычно создаются эти подклассы? В самом файле класса комментариев или класса добавления поста или может создается какой-то отдельный файл, который хранит в себе все вот такие пустые исключения и подключается в точке входа, или эти исключения имеют собственный файл, который вызывается с помощью автозагрузки при вызове?

Как решить эту проблему постоянно создаваемых пустых классов расширяющих Exception только для того, чтобы дать понять catch, какое исключение ловить сейчас?
  • Вопрос задан
  • 234 просмотра
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
dmitriylanets
@dmitriylanets
веб-разработчик
Comment/Exceptions/CommentException.php
Comment/Commands/AddComment.php
Post/Exceptions/AddPostException.php
Post/Commands/AddPost.php
-в случае если вы делите по доменам функционал
в любом случае это отдельный каталог Exceptions и отдельный класс
Ответ написан
Комментировать
t-alexashka
@t-alexashka
Сразу пишу legacy код
Обычно они создаются в соотв. с политикой неймспейсов, отдельными файлами, даже если само исключение пустое.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽