Math. Funktionen: OS-Fehlermeldung unterdrücken?



  • Hallo,

    wie kann ich die von Windows erzeugten Fehler-Messageboxen unterdrücken, wenn ich eine der Funktionen aus der Standardbibliothek <math.h> aufrufe und es dabei zu einer Ausnahme kommt?
    Beispiel:
    powl(5.0, 10000.0);
    erzeugt einen Overflow-Error (beide Argumente sollen vom Benutzer beliebig eingegeben werden können, deshalb möchte ich mir eine "vorbeugende" Überprüfungroutine der Argumente möglichst ersparen).

    Auch wenn ich Fehler mittels _matherrl() abfange und weiterverarbeite (was definitiv in meinem Prog. schon funktioniert), erscheint leider trotzdem die unerbetene wichtigtuerische Messagebox ("OVERFLOW error").

    Gibt es irgendeine Windows-Funktion, mit der sich das Verhalten bei solchen Ausnahmen festlegen lässt, oder irgendeine Compiler-Einstellung (ich verwende den Borland Kommandozeilencompiler 5.5), oder muss ich in einer der Windows-Headerdateien etwas definieren/ent-definieren, oder...?

    Walter Z



  • ja nun... was soll ich sagen?!?

    probier dies mal aus: http://www.kingralph.de/pow.rar

    ich denke, es ist genau das was du suchst?!? hab ich mir grad mal ausgedacht, funktioniert aber

    ralph

    p.s. ist ein c++ builder 5 project, wenn du ne andere ide benutzt, dann mußt du das irgendwie "hinfummeln" 😉



  • hey ja, danke!! Genau das war's, ich hatte bisher in _matherrl() im Fehlerfall stets 0 anstatt 1 zurückgegeben, was zu der Messagebox führte - ich war nicht auf die Idee gekommen, dass man mit dem Rückgabewert 1 die System-Fehlermeldung unterdrücken kann.

    Walter


Anmelden zum Antworten