Division by zero und errno
-
Hallo,
es geht um folgenden Codeschnipsel:
double result = x/y; if (errno != 0) { ... //error handling }
Die Idee: Bei einer Division durch null wird ein Fehler ausgelöst. Wird er aber leider nicht, d.h. zumindestens ist errno immer noch null. Ich würde aber gerne errno nutzen, gibt es da trotzdem eine Möglichkeit? Oder habe ich etwas falsch gemacht?
Danke
Markus
-
Was bei einer Floating-Point Division mit 0 passiert ist eigentlich ziemlich Implementierungs- und vor allem Architekturabhängig. errno wird aber nicht gesetzt!
Bei IEEE 754 kompatiblen Systemen sollte result danach afair inf sein (siehe man: isinf).
-
Ja, bei der Divison kommt inf raus. Die Idee war halt mit strerror in dem aufrufenden Programm den Fehler auszugeben, da bei dem Unteraufruf mehrere verschiedene Fehler eintreten können. Hm, naja, mal schaun ob ich das irgendwie anders machen kann, erstmal danke schön (: