Teiler Problem einmal da einmal nicht da
-
Hallo,
ich habe folgendes Problem: In zwei Anwendungen habe ich ein und dieselbe Klasse. In dieser Werden Punkte berechnet:
dDegree = (double)(m_ptKnob.X - Point.X ) / (double)(m_ptKnob.Y - Point.Y );
In der Anwendung A knickt der Debugegr weg und zeigt mir einen "Floating-point division by zero" an wenn:
dDegree = (double)(50 - 22 ) / (double)(50 - 50);
auftritt. ABER in der Anwedung B wenn das gleiche passiert mit exact den gleichen Werten, kommt keine Meldung und das Prog läuft weiter durch.
Hat hier jemand eine IDee warum das so ist?
Gruß
Ocrana
-
dDegree = (double)(50 - 22 ) / (double)(50 - 50);
das firsst dein compiler?
Mein VC++6 merkert da schon beim compilieren rum (error C2124: divide or mod by zero). Ich denke mal der Grund warum das 2. 'funktioniert' ist, das der bereits der compiler merkt das du da ne exception produzierst und diese Zeile höchst warscheinlich durch was anderes ersetzt (sieh das mal den assembler code an, würde mich wundern wenn VC++ da ne division by zero codet)