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