Frage zur Fehlerbehandlung: if (dResult == 1.#IND) ??



  • Hallo,

    ich möchte verschiedene Rechnungen mit double-Variablen durchführen und am Schluss überprüfen, ob bei einer Rechnung einer von folgenden Fehlern aufgetreten ist: 1.#IND, -1.#INF und so weiter.

    Kann man diese Werte irgendwie in Verbindung mit der Variable erhalten, oder sind das nur Fehlermeldungen, die bei der Ausgabe erzeugt werden?

    Am liebsten wäre mir: if (dResult == 1.#IND), ist aber klar, dass das nicht funktioniert.



  • so was vielleicht, weis aber nicht ob dies so state of art ist

    if(dResult > std::numeric_limits<double>::max())
    


  • Danke, mit der numeric_limits lässt sich sowas machen.

    if (result == std::numeric_limits<double>::infinity())
    

    Falls noch jemand etwas eleganteres kennt, bitte posten...


Anmelden zum Antworten