Задать вопрос
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Exception или Throwable?

Вот пример кода:
try {
                $this->startAnyMethod();
            } catch (\Exception $e) {
                $this->savelog($e);
            } catch (\Throwable $e) {
               $this->savelog($e);
        }


При наведении курсора на переменную $e во втором catch, шторм показывает $e Exception | Throwable
А когда наводишь на первую $e то только Exception там.

В связи с этим и вопрос. Правильно ли делать так, два кэча или лучше оставить только один Throwable так как он ловит тоже Exception.

Зачем мне два, суть в том что бывают такие ошибки которые не ловит Exception, а Throwable ловит.
И я думаю что указав один кэч и там указать Throwable то будет тоже самое что и выше код только с одной веткой.
Прав я или нет ? (проверить мою теорию я не имею возможности, потому что не знаю какие ошибки НЕ ловит exception)
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
New_Horizons
@New_Horizons
Бред:
Конструкция Ваша бессмысленна. Exception реализует Throwable. т.е. Если вы ловите Throwable, то Exception будет и так ловиться.
try {
	$this->startAnyMethod();
} catch (\Throwable $e) {
	$this->savelog($e);
}
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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