Tom: C++: Register Überlauf beim Rechnen abfangen

Beitrag lesen

Hello,

kann mir jemand der C++ Profis einen Hinweis geben, wo ich suchen muss?
Wie kann ich in C++ einen Überlauf-Fehler abfangen, wie er z.B. bei der Berechnung einer Fakultät recht schnell auftritt?

unsigned int Fakultaet::calc(const int op)
{
// errno = 0; // ist nur für IO
 unsigned int result = 1;

for (int i = 1; i <= op; i++)
 {
            try           // nur zum Testen eingebaut...
            {
         result *= i;
            }
            catch (std::exception &e)
            {
                std::cerr << e.what() << std::endl;
            }
 }

return result;
}

So geht es leider nicht.
Eingebunden ist <stdexcept>

Kann man die Flags abfragen? Aber dazu müsste man wissen, welches Register als Zielregister beio der Multiplikation benutzt wird und außerdem sollte das in einer Hochsprache auch deren Sachen sein?!

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de