Ich benutze C++ in Visual Studio Express, um zufällige Ausdrucksbäume für die Verwendung in einem genetischen Algorithmus Programmtyp zu generieren.Wie verwende ich try ... catch, um Gleitkommafehler zu fangen?
Weil sie zufällig sind, erzeugen die Bäume oft: durch Null teilen, Überlauf, Unterlauf sowie zurückkehrende "inf" und andere Zeichenfolgen. Ich kann Handler für die Streicher schreiben, aber die Literatur hat mich über die anderen verblüfft. Wenn ich es richtig verstehe, muss ich zuerst einige Flaggen setzen?
Beratung und/oder ein Hinweis auf einige Literatur wäre willkommen. Edit: Die in der Double-Variablen zurückgegebenen Werte sind 1. # INF oder -1. # IND. Ich habe mich geirrt, sie Strings zu nennen.
C++ nicht jede dieser Operationen vorschreiben sollte eine Ausnahme werfen. Sie führen zu undefiniertem Verhalten. (Was kann zum Absturz führen, oder eine Ausnahme auslösen, oder nichts tun, o ...) – GManNickG
Aber C99 und POSIX geben solche Dinge an und stellen eine numerische Ausnahme-Schnittstelle zur Verfügung. Es ist jedoch ein wenig unklar, ob Peter Kontrolle über die tatsächlichen Zahlen hat, wenn er Fäden statt FP-Unendlichkeiten herauszieht. – Potatoswatter