O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required