Fehler Abfangen in PHP war schon immer ein echter Murks und nie wirklich professionell ohne wirklich viel Arbeit zu investieren.
In PHP 5 gibts endlich "try {} catch {}"-Kontrollstrukturen die es erlauben auf eine viel gründlichere Art Fehler zu analysieren und abzufangen.
Hier ein sehr gutes Tutorial:
http://www.sitepoint.com/article/1192/12