@FilatovNikita

Почему не срабатывает конструкция try catch?

Не могу понять почему не работает try catch в точке входа ! Вот сам исходник bfb74fe5d8b3456790ec6058c6a92684.png
Через переданный url у меня подключается нужный контроллер в автолоде я поставил проверку если !file_exists, то ловим исключение, вся суть в том, что этот код работает до тех пор, пока я в url не передам типа такого (localhost/For_nout/oop_blog/ssdsd---), а если например напишу в url так (localhost/For_nout/oop_blog/ssdsd), то исключение срабатывает. Заранее спасибо, не знаю в чем здесь подвох, буду рад подискутировать на эту тему !
  • Вопрос задан
  • 416 просмотров
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
если !file_exists, то ловим исключение

С точностью до наоборот. throw - это "кидать", а catch - "ловить"

этот код работает до тех пор, пока я в url не передам типа такого (localhost/For_nout/oop_blog/ssdsd---)

Так это не Exception, а Fatal error, он не ловится try-catch.
В new надо указывать валидное имя. Дефисы и прочие спецсимволы нельзя. $params0 надо предварительно почистить
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@stcmd04236
Потому что вы в любом случае пытаетесь загрузить не существующий файл. Выдаете исключение и потом пытаетесь загрузить файл не смотря на его существование. А исключение пытаетесь обработать после spl_auto_load_register.
Ответ написан
Ваш ответ на вопрос

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

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