Страница 1 из 1

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

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

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

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

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

Добавлено: 2018.05.17, 20:21
andku83
покажите что вы делаете в блоке try{}

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

Добавлено: 2018.05.17, 20:55
Татьна
try
{

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

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

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

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

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

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

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

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

Добавлено: 2018.05.17, 23:37
Татьна
Спасибо. Почитаю.

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

Добавлено: 2018.05.20, 05:34
andku83
попробуйте так:

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

catch (\yii\db\Exception $e)