Я рассчитываю на дальнейшее развитие 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());
Кто-нибудь может быть заинтересован для дальнейшей ссылки … PDOException
по сравнению с вышеупомянутым в: Исключения PDOException и Zend
В принципе 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 или нормальное исключение, генерируемое самой платформой, если вы не добавили его в свою часть кода.
Других решений пока нет …