Обработка исключений в Zend Framework 2

Я пробовал использовать try catch в своем коде, но он не обнаруживает никаких исключений.

{           
   $this->mapper->DeletePassssedAndImages($langcode."_topic",$id,$type,$langcode);
}
catch ( \Exception $exc )
{
    echo "hi";
    exit;
);

Он не переходит в блок catch, даже если я генерирую исключение вручную.

Можете ли вы показать свой код, что вы пробовали до сих пор

Gautam Rai 21.05.2018 15:01

В вашем коде нет «попробовать».

bart 08.05.2020 11:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
164
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Zend Framework конкретизирует исключения. Итак, вы будете знать, откуда взялась ошибка. Например, в Zend\ServiceManager есть несколько исключений

Zend\ServiceManager\Exception\CircularDependencyFoundException
Zend\ServiceManager\Exception\CircularReferenceException
Zend\ServiceManager\Exception\InvalidArgumentException
Zend\ServiceManager\Exception\InvalidServiceNameException
Zend\ServiceManager\Exception\RuntimeException
Zend\ServiceManager\Exception\ServiceNotCreatedException
Zend\ServiceManager\Exception\ServiceNotFoundException

Вы можете сделать обработчик на основе сгенерированного исключения. Но вы можете использовать такой блок try catch для обработки исключений.

try {

} catch \Exception ($e) {

}

Поскольку все эти исключения относятся к \Exception

попробуйте {$ this-> mapper-> DeletePassssedAndImages ($ langcode. "_ topic", $ i‌ d, $ type, $ langcode); } catch (\ Exception $ exc) {echo "привет"; выход; $ ViewModel = $ mvcEvent-> getViewModel (); $ ViewModel-> setTemplate ('макет / ошибка-макет'); $ content = новая ViewModel (); $ content-> setTemplate ('ошибка / 503'); $ ViewModel-> setVariable ('content', $ serviceManager-> get ('ViewRenderer') -> render ($ content)); exit ($ serviceManager-> get ('ViewRenderer') -> render ($ ViewModel)); }

Siva Kamath 22.05.2018 14:56

Я добавил код выше, что вы предложили, не работает

Siva Kamath 22.05.2018 14:59

Если \Exception пойман, он просто отобразит Привет. Потому что ставишь exit после echo 'hi'

Dolly Aswin 22.05.2018 17:54

конечно, но он не напечатал привет, вот в чем проблема, пожалуйста, помогите мне

Siva Kamath 23.05.2018 07:49

есть ли исключение @SivaKamath?

Dolly Aswin 23.05.2018 08:48

Другие вопросы по теме