Задать вопрос
@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 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Лучше создать свою иерархию классов исключений и бросать их, чтобы код был читаемее, но в целом уточнение исключений — это нормальная практика.
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Можно, используется. Но в 99% случаев не нужна.
В данном случае скорее всего тоже. Ожидать исключения в транзакции - плохая практика. Скорее всего, либо никакие уточнения не нужны, либо данные не были провалидированы до начала транзакции.
Ответ написан
Ваш ответ на вопрос

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

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