@Architecktor133

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

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

function foo() {

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

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

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

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

}


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

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

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