Anda perlu memberi tahu PDO bahwa Anda ingin membuat pengecualian:
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Mengikuti komentar Anda di bawah, jelas bahwa DSN Anda salah. Seharusnya:
$connection = new PDO('mysql:host=localhost;dbname=my_db','my_username','xxxxxxx');
Perhatikan bahwa sintaksnya adalah dbname=
daripada dbname:
(yang awalnya Anda miliki).