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

Можно ли таким образом использовать try-catch?

К примеру у меня есть такой код:

function foo() {

    # Начало транзакции

    try {
        # Одно обращение к БД
    } catch(PDOException $e) {
        throw new PDOException("Уточняющее сообщение: " . $e->getMessage());
    }

    try {
        # Другое обращение к БД
    } catch(PDOException $e) {
        throw new PDOException("Другое уточняющее сообщение: " . $e->getMessage());
    }

    # Коммит транзакции

}


Насколько такая конструкция легальна, и используется ли такое вообще?
  • Вопрос задан
  • 362 просмотра
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Лучше создать свою иерархию классов исключений и бросать их, чтобы код был читаемее, но в целом уточнение исключений — это нормальная практика.
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Можно, используется. Но в 99% случаев не нужна.
В данном случае скорее всего тоже. Ожидать исключения в транзакции - плохая практика. Скорее всего, либо никакие уточнения не нужны, либо данные не были провалидированы до начала транзакции.
Ответ написан
Ваш ответ на вопрос

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

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