как поймать ошибку функции pg_connect ()?

pg_connect () показывает ошибку в формате таблицы. Вместо отображения сообщения об ошибке в виде таблицы требуется сообщение с сообщением об ошибке.

Сообщение об ошибке
Предупреждение: pg_connect () [function.pg-connect]: невозможно подключиться к серверу PostgreSQL: FATAL: аутентификация паролей для пользователя «test» в /home/test/public_html/QueueManager/Modules/Database.php в строке 41

После этого, если отображается ошибка в виде таблицы.
После выполнения pg_connect () выбрано исключение.
Но это не работает.

Код

function connect() { $HOST = $GLOBALS[Database_Conn][Db_Host]; # Host name $USER = $GLOBALS[Database_Conn][Db_User]; # database user name $DBNAME = $GLOBALS[Database_Conn][Db_Name]; # name of the database $PASSWORD = $GLOBALS[Database_Conn][Db_Pass]; # password the database user. try { $conn = pg_connect("host=$HOST dbname=$DBNAME user=$USER ". "password=$PASSWORD sslmode=disable"); if(!$conn) { throw new Exception("Database Connection Error"); } return $conn; } catch (Exception $e) { print <<<_HTML_ <script> alert('Caught exception'); </script> _HTML_; die(); } } 

Пожалуйста, дайте мне решение

pg_connect не pg_connect исключение, поэтому вам нужно перевести на исключение, как pg_connect ниже.

 function exception_error_handler($errno, $errstr, $errfile, $errline ) { throw new ErrorException($errstr, $errno, 0, $errfile, $errline); } set_error_handler("exception_error_handler"); try { $conn=@pg_connect("host=dbhost user=dbuser dbname=db password=dbpass"); } Catch (Exception $e) { Echo $e->getMessage(); } 

Пожалуйста, обратитесь к этой детали

http://php.net/manual/en/language.exceptions.php

Чтобы скрыть текст ошибки, сгенерированный PHP, добавьте @ перед вызовом функции, например:

 $conn = @pg_connect("host=$HOST dbname=$DBNAME user=$USER ". "password=$PASSWORD sslmode=disable"); 

Подробнее здесь