@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 ...
}

Правильно ли так или есть более приемлемый формат?
  • Вопрос задан
  • 2174 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Если для этого исключения не предусмотрен свой тип (можете глянуть через get_class) то норм. Если отдельный тип исключения таки есть то лучше ловить его + все остальное. То есть избавляться от ветвления в катчах по возможности. Другой вопрос нужно ли вам исключения в массивы конвертить или лучше пусть это фронтконтроллер разруливает...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы