Almetare  1.15
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
ZeroDivide Klassenreferenz

Klasse zur Ausnahmebehandlung "Division durch 0". Mehr ...

#include <fraction.h>

Ausführliche Beschreibung

Klasse zur Ausnahmebehandlung "Division durch 0".

Sowohl GNUs gcc als auch MSVC erzeugen standardmaessig keine Exception bei Fliesskommafehlern (Ueberlauf, Division durch Null etc.; stattdessen wird, wenn man eine bei einem Fehler erzeugte Fliesskommavariable in einen String-Stream schreibt, ein Text wie "-1.#IND" oder "nan" erzeugt:

double nix = 0.0;
double val = 3.0/nix;
strstream str;
str << val << ends;
string valStr = str.str();
=> valStr = "nan"

Daher wird in Almetare zur Fehlererkennung geprueft, ob bei einer Operation ein solcher String erzeugt wurde. Bei Integer-Arithmetik ist das allerdings anders, wie sich leider erst spaeter herausgestellt hat: Hier wird eine Exception ausgeloest und das Programm stuerzt ab. Daher ist hierfuer eine C++-Ausnahmebehandlung noetig. Die Klasse ZeroDivide ist der Ausnahmedatentyp und hat sonst keine Funktion.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: