Вопрос проверяет умение работать с ошибками, писать устойчивый код и корректно обрабатывать нештатные ситуации.
Исключения в PHP обрабатываются с помощью try, catch и finally. Код, который может выбросить исключение, помещается в try. В catch происходит обработка ошибки. Блок finally выполняется всегда, независимо от того, была ошибка или нет.
Исключения — это механизм управления ошибками, который позволяет отделить “нормальный” код от кода обработки проблем.
try {
// код, который может выбросить исключение
} catch (Exception $e) {
// обработка ошибки
} finally {
// выполнится всегда
}
tryВ try помещается:
работа с БД
файловые операции
сетевые запросы
бизнес-логика, где возможны ошибки
try {
$user = $repository->find($id);
}
catchОпределение:catch — это блок, который перехватывает исключение определённого типа.
catch (NotFoundException $e) {
// конкретная обработка
}
catch (Exception $e) {
// общий случай
}
Можно использовать несколько catch, от более специфичных к более общим.
finallyfinally выполняется:
если исключение было
если исключения не было
даже если был return внутри try
finally {
$connection->close();
}
Явное управление ошибками
Чистый основной код
Централизованная обработка
Корректное освобождение ресурсов
try / catch / finally — основной механизм обработки ошибок в PHP. try — выполняем код, catch — обрабатываем проблему, finally — гарантируем завершение и очистку ресурсов.