Проблемы с throw new Exception
Добавлено: 2015.01.27, 01:02
В приложении необходимо производить сохранение связных данных и просчитывать бизнес логику, хотелось бы сделать проверку на возникновение ошибок. Делаю следующим образом:
В каждом Exception('My message'); - сообщение которое я сам настраиваю и отображаю для пользователя в необходимом виде. В yii 1 данный подход работал.
Проблема сейчас в том, что при выполнении yii2 останавливает выполнение скрипта и переводит на страницу своей стандартной ошибки.
Подскажите пожалуйста как это необходимо использовать? Есть ли возможность отключить это в конфигах (не отключая весь обработчик ошибок, нужно только)?
Код: Выделить всё
$transaction = \Yii::$app->db->beginTransaction();
try {
if ($model1->save()){
// сохранение других данных если возникла ошибка
throw new \Exception('My message');
// просчет бизнес логики и запросы на другой сервер если возникла ошибка которая зависит от моих правил (например $a > $b) то
throw new \Exception('My message');
} else {
throw new \Exception('My message');
}
$transaction->commit();
} catch (Exception $ex) {
\Yii::$app->getSession()->setFlash('error', $ex->getMessage());
// определенная логика которую необходимо выполнять только при возникновении ошибки
$transaction->rollBack();
}
Проблема сейчас в том, что при выполнении
Код: Выделить всё
throw new \Exception('My message');
Подскажите пожалуйста как это необходимо использовать? Есть ли возможность отключить это в конфигах (не отключая весь обработчик ошибок, нужно только
Код: Выделить всё
throw new \Exception('My message');