@Architecktor133

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

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

function foo() {

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

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

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

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

}


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

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

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