Hallo!
"PDOException extends RuntimeException" -> "RuntimeException extends Exception"
... im Grunde ist es doch eine Exception. Geht das dann unter PHP generell nicht, dass man "Sub-Exceptions" über die Basisklasse abfangen kann?
Die PDOException extended zwar über Umwege die Exception, hat aber andere Rückgabewerte und wird entsprechend anders behandelt-
Schau dir mal den ersten User-Comment auf der verlinkten Seite zur PDOException an. Dort erklärt er dir wie du die Exceptions auch "durchschleifen" kannst.
Grüße, Matze