exception.php
class WasserLeerException extends Exception {}
class WasserNichtOKException extends Exception {}
class Wasserspender {
public $istLeer = false;
public $wasserOK = true;
public $becherAlle = false;
public function trinken()
{
if ($this->istLeer) {
throw new WasserLeerException("Wasser ist leer<br>");
}
if (!$this->wasserOK) {
throw new WasserNichtOKException("Wasser ist nicht mehr gut<br>");
}
if ($this->becherAlle) {
throw new RuntimeException("Becher alle<br>");
}
echo "250ML Becher zur Entnahme bereit<br>";
}
}
try {
$spender = new Wasserspender();
$spender->becherAlle = true;
$spender->trinken();
} catch (WasserLeerException $e) {
echo $e->getMessage();
echo "wird aufgefüllt<br>";
} catch (WasserNichtOKException $e) {
echo $e->getMessage();
echo "wird gereinigt<br>";
} catch (Exception $e) {
echo $e->getMessage();
} finally {
echo "Vielen Dank für Ihren Besuch";
}