9.8 Eigene Ausnahmen werfen

Problem

Sie möchten in Ihren Funktionen oder Methoden Fehlerzustände durch eigene Ausnahmen aufzeigen.

Lösung

Werfen Sie Ihre eigenen Exceptions:

function setPrice($price) {
    if (!is_numeric($price)) throw new Exception("Price is not a number", 1);
    if ($price < 0) throw new Exception("Price is negative", 2);
    // Preis in Datenbank einfügen.
    ...
}

setPrice($price);

Diskussion

Wenn Sie in diesem Beispiel in Ihrem catch-Block wissen wollen, was nun genau passiert ist, müssen Sie sich den Code der Exception ansehen:

try {
    setPrice($price);
}
catch (Exception $e)
{
    switch ($e->getCode()) {
        case 1: echo "Bitte eine positive Zahl eingeben."; break;
        case 2: echo "Wie bitte? Negativer Preis???"; break;
    }
}

Wenn Sie jetzt bei Exceptions ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.