Twitt
@Twitt

Как правильно хэндлить Exception?

Вижу в коде проекта есть:
if (!empty($temporary)) {
                $this->moveToDatabase($temporary);
            }

И этот метод как раз подсвечивается, что unhandled exception. Внутри этого метода кидается эксепшн, если не получается вставить данные в бд. Как правильнее тут схэндлить эксепшн? Обернуть в try catch, где просто нужно логать эту ошибку? А если мне не надо, чтобы программа продолжалась дальше, каким будет правильным решением? Я пришел к примерно такому решению:
if (!empty($temporary)) {
                try {
                $this->moveToDatabase($temporary);
                } catch (\Exception $e) {
                     $this->logger->log("Y-m-d H:i:s | " . $e->getMessage());
                     throw new Exception();
                   }
            }

Т.е. залогировать и кинуть эксепшн по новой. На сколько я правильно делаю? Как обычно стоит хэндлить эксепшены? Внутри catch обычно происходит логирование просто?
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
@colesnic89
PHP developer
if (!empty($temporary)) {
    try {
        $this->moveToDatabase($temporary);
    } catch (\Exception $e) {
        $this->logger->log("Y-m-d H:i:s | " . $e->getMessage());
        throw $e;
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
как вариант запись в логе сделать в базовом исключении.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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