Auf Floating Point Exception reagieren
-
Wenn ich eine ganzzahlige Division durch Null ausführe:
int main(void) { int a = 1/0; return a; }
bricht mein Programm ab und schreibt
Floating point exception.
in das Terminal. Kann ich dieses Verhalten so ändern, dass stattdessen das Programm weiterläuft, unda
irgendeinen festgelegten Wert, z.B. 42, bekommt?Ich wüsste das gerne für i686 und amd64. Geht das portabel? Oder gar nicht?
-
such mal nach Signalhandlern. Signal heißt denke ich SIGFPE
unter unix:
man 7 signal
glaub ich
-
Eine division durch 0 ist ein Spezialfall.
Du koenntest davor mit eine if abfragen ueberpruefen ob der nenner 0 ist.
Ist er 0 bekommt a den wert 42 und es wird keine division ausgefuehrt.