Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Verzeichnisse | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

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:
Erzeugt am Mon Oct 10 19:54:32 2005 für Almetare von  doxygen 1.4.1