klassen/btest10b.cpp

Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++ - Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001


Bsp::Bruch liesBruch ()
{
    Bsp::Bruch x;         // Bruch-Variable
    bool       fehler;    // Fehler aufgetreten?

    do {
        fehler = false;   // zunächst mal kein Fehler

        /* Versuche, den Bruch x einzulesen, und fange
         * Fehler vom Typ NennerIstNull ab
         */
        try {
            std::cout << "Bruch eingeben (zaehler/nenner): ";
            std::cin >> x;
            std::cout << "Eingabe war: " << x << std::endl;
        }
        catch (const Bsp::Bruch::NennerIstNull&) {
            /* Fehlermeldung ausgeben und Schleife nochmal
             */
            std::cout << "Eingabefehler: Nenner darf nicht Null sein"
                      << std::endl;
            fehler = true;
        }
    } while (fehler);

    return x;             // eingelesenen Bruch zurückliefern
}