Mit PHP 5 wurde dem Entwickler ein Werkzeug zur Verfügung gestellt, dass es in anderen objektorientierten Sprachen wie C++ und Python schon lange gibt: Exceptions. Mit diesen hat der Entwickler die Möglichkeit, auf ungewollte Ereignisse zu reagieren. Exceptions werden “geworfen”, das bedeutet, sie unterbrechen den normalen Programmfluss und behandeln eine eventuelle Ausnahme, die den weiteren Programmverlauf stören können. In einer Desktopapplikation beispielsweise könnten Exceptions genutzt werden, um noch vor dem Windows-Fehlermeldungsfenster ein eigenes zu generieren, in der der Benutzer die Möglichkeit hat, einen Fehlerbericht an die Softwarefirma zu schicken. Ohne diese Ausnahmebehandlung würde das Programm mit einer Windows-Standardmeldung sang- und klanglos abstürzen und der User wäre verwirrt. Auch in PHP lassen sich Exceptions sinnvoll nutzen. Mit Exceptions sind sicherlich schon einmal alle Entwickler in Berührung gekommen, die ein MySQL-Statement via PDO mit einer fehlerhaften Syntax abgegeben haben.
Im unten aufgeführten Beispiel mal ein ganz einfacher Anwendungsfall – zunächst ohne Fehlerbehandlung: Aus einer Zahl soll eine Wurzel gezogen werden:
$a = sqrt(9); // Wert von $a: 3 $b = sqrt(-9); // Wert von $a: NaN


