Zend_exception vs Zend_Db_Adapter_Exception (обработка исключений PDO)

Я рассчитываю на дальнейшее развитие Zend PHP.

Я надеялся, что кто-то может привести меня к ответу относительно обработчиков исключений …

Это Zend_Db_Adapter_exception $e функция и Zend_exception $e один в том же? Один ловит оба экземпляра?

} catch (Zend_Db_Adapter_Exception $e) {
$this->logger->log($e, Zend_Log::ERR);
throw new Exception($e->getMessage());

В.С.

    }catch (Zend_Exception $e) {
$this->logger->log($e, Zend_Log::ERR);
throw new Exception($e->getMessage());

p.s

Кто-нибудь может быть заинтересован для дальнейшей ссылки … PDOException по сравнению с вышеупомянутым в: Исключения PDOException и Zend

0

Решение

В принципе Zend_Exception является базовым исключением, которое выдает Zend Framework. Это на самом деле расширяется Exception так что если вы ловите Zend_Exception скорее всего это будет что-то выброшенное из фреймворка или из себя (в написанном вами коде)

Zend_Db_Adapter_Exception с другой стороны, это опять-таки исключение, определенное Zend Framework, но оно выдается только тогда, когда возникает проблема с выполнением оператора БД (или если он не может правильно подключиться к БД).

Так же Zend_Exception по сравнению с Exceptionспециально создан, чтобы представлять исключения, выброшенные из структуры, Zend_Db_Adapter_Exception сделано для представления исключений, генерируемых механизмами доступа к БД в ZF, по сравнению с общим PDOException.

Подводя итоги, можно сказать, что при использовании Zend Framework вы должны отлавливать специфические исключения Zend, поскольку инфраструктура создана таким образом, чтобы их выбрасывать, поэтому я полагаю, что не должно быть никаких шансов получить исключение PDOException или нормальное исключение, генерируемое самой платформой, если вы не добавили его в свою часть кода.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]