Se vuoi eccezioni, devi usare PDO.
in caso di funzioni pg_* e del tuo codice, devi controllare se $result ha il valore di false, se lo fa, si è verificato un errore.
Puoi ottenere la descrizione dell'errore con pg_last_error()
Qualcosa del genere:
$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';
}
Quindi, in pratica, ogni volta che usi una funzione pg_*, devi controllare se è stato restituito false, è proprio così con quelle funzioni.
Sì, puoi creare i tuoi wrapper così invece di pg_query* chiami my_db_query(), che quindi esegue il controllo del valore di ritorno e la generazione di eccezioni.
Oppure potresti utilizzare PDO, che è in grado di generare PDOException per tutti gli errori che possono verificarsi.