Pokud chcete výjimky, musíte použít PDO.
v případě funkcí pg_* a vašeho kódu musíte zkontrolovat, zda má $result hodnotu false, pokud ano, došlo k chybě.
Popis chyby můžete získat pomocí pg_last_error()
Něco jako toto:
$result = pg_query_params ( $dbconn,
'DELETE FROM questions
WHERE question_id = $1',
array ( $question_id )
);
if ($result === false) {
print pg_last_error($dbconn);
} else {
print 'everything was ok';
}
Takže v podstatě pokaždé, když použijete funkci pg_*, musíte zkontrolovat, zda nebyla vrácena hodnota false, tak to s těmito funkcemi prostě je.
Ano, můžete si vytvořit své vlastní obaly, takže místo pg_query* zavoláte my_db_query(), které pak zkontroluje návratovou hodnotu a vyvolá výjimky.
Nebo můžete použít PDO, které je schopné vyvolat výjimku PDO pro všechny chyby, které se mohou vyskytnout.