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";
    }