Задать вопрос
@Forum3

Правильная обработка кастомных ошибок базы данных?

Добрый день.
Хочу узнать о правильности обработки ошибок в функциях/процедурах.
Например функция генерирует ошибку: RAISE EXCEPTION 'E_EXISTING_USER_PRIVATE_CODE';

На стороне php я ловлю
try {
  $query->execute();
} catch(Database_Exception $e) {
    if (strpos($e->getMessage(), 'E_EXISTING_USER_PRIVATE_CODE')) {
      return array('E_EXISTING_USER_PRIVATE_CODE');
    } elseif ...
}

Правильно ли так или есть более приемлемый формат?
  • Вопрос задан
  • 2176 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Если для этого исключения не предусмотрен свой тип (можете глянуть через get_class) то норм. Если отдельный тип исключения таки есть то лучше ловить его + все остальное. То есть избавляться от ветвления в катчах по возможности. Другой вопрос нужно ли вам исключения в массивы конвертить или лучше пусть это фронтконтроллер разруливает...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы