@HP_Pavilion_Laptop_15

Почему Unhandled Exception, если оно внутри try/catch?

Имеется такой ГК

626d20b0bfc5e327490731.png


Строки 27, 41 и 50 (они подчёркнуты штормом) шторм светит, как необработанное исключение.

Почему?

Ведь методы с исключениями находятся внутри отлова.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
У вас Exception из метода resolveClass() не ловится, тк его вызов находится не в секции try{}

try {
   // тут вызов кода, который может выбить исключение А
} catch (ExceptionA $e) {
    // если A вылетело, то попадаем в отлове сюда
    // дальнейший код, который может кидать исключения, надо обрабатывать отдельно, 
    // тк тут УЖЕ произошел отлов исключения из секции try, а новые вызовы надо по новой покрывать
}


Вообще: управление программой через исключения — плохая практика. Например вот такими вложенными обертками и риск поймать непредвиденное исключение выше
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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