Отловить и вывести сообщение об ошибке исключения PDOException

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Татьна
Сообщения: 96
Зарегистрирован: 2018.04.22, 00:17

Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение Татьна » 2018.05.17, 18:54

Мне надо попасть в исключение PDOException и получить сообщение об ошибке. База данных - postgresql.
Вот фрагмент кода:

Код: Выделить всё

try 
   {
     ..........
   } 
catch (\PDOException $e)
   {
	$tErrMsg = $e->message();
   }  
Но я не попадаю в исключение, программа прерывается и на экран выводится сообщение об ошибке, которое я хочу получить через исключение. Может надо что-то подключить.

andku83
Сообщения: 808
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение andku83 » 2018.05.17, 20:21

покажите что вы делаете в блоке try{}

Татьна
Сообщения: 96
Зарегистрирован: 2018.04.22, 00:17

Re: Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение Татьна » 2018.05.17, 20:55

try
{

$sql = // вызов функции
$command = $connection->CreateCommand($sql);
$reader = $command->query();
}
catch (\PDOException $e)
{
$ErrMsg = $e->message();
}

Татьна
Сообщения: 96
Зарегистрирован: 2018.04.22, 00:17

Re: Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение Татьна » 2018.05.17, 21:03

Вызываемая функция в try{} синтаксически правильная. В самой этой функции в зависимости от условий создается исключение и формируется сообщение об ошибке, которое надо поймать и вывести на экран.

Код: Выделить всё

try 
{
	$sql = // вызов функции
	$command = $connection->CreateCommand($sql);
	$reader = $command->query();
} 
catch (\PDOException $e)
{
	$ErrMsg = $e->message();
}

Аватара пользователя
Alexum
Сообщения: 582
Зарегистрирован: 2016.09.26, 10:00

Re: Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение Alexum » 2018.05.17, 23:28

У вас исключение перехватывает встроенный во фреймворк обработчик ошибок, который включен по умолчанию. Он и формирует отладочную информацию, которую видите вместо своего сообщения. Почитайте тут https://www.yiiframework.com/doc/guide/ ... ing-errors.


andku83
Сообщения: 808
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Отловить и вывести сообщение об ошибке исключения PDOException

Сообщение andku83 » 2018.05.20, 05:34

попробуйте так:

Код: Выделить всё

catch (\yii\db\Exception $e)

Ответить