Мне нужно что-то простое и в то же время эффективное
try / catch будет вашим единственным выбором IMO.Если у вас есть много мест, где вам нужно добавить предложение try / catch, вы можете переместить этот конкретный фрагмент кода в отдельную функцию.
Если, скажем, эта строка выдает исключение
$ con> query ($ your_DQL_query) // что-то здесь происходит с результатами
переместить его во что-то вроде
function goodQuery($sql) {
try {
$con->query($sql);
} catch (Doctrine_Connection_Exception $dce) {
//do something
}
}
Вам все еще нужно заменить все ваши "броски"методы с вызовом функции goodQuery(...)
, но это облегчит дальнейшую разработку, поскольку исключение обрабатывается в одном месте.