hey,
Ich hab ein kleines Tool geschrieben wo zwei Zufallszahlen aus dem Datum usw generiert werden, und diese mit der entsprechenden Grundrechenart ausgerechnet werden. Nun hab ich versucht durch Null zu teilen, als Ergebnis bekam ich "+unendlich" aus. Eigentlich hatte ich einen Ausnahme-Fehler erwartet, und wollte das durch Null teilen mit einer Try - Catch Abfrage abfangen. Wie soll ich das machen? Es ist alles auf dem Screen.
Den Divisor auf 0 Checken
Ist imo auch der sauberere Weg da ne Exception deutlich Länger braucht.
Warum das ganze so ist, dein Compilere sieht das als einen float an und in der Standartisierung an die er sich hält, schmeisst er keine Exception wie du es gewohnt bist sondern setzt den Wert entsprechend, in diesem Fall positiv Infinit
Den Divisor auf 0 Checken
Ist imo auch der sauberere Weg da ne Exception deutlich Länger braucht.
Warum das ganze so ist, dein Compilere sieht das als einen float an und in der Standartisierung an die er sich hält, schmeisst er keine Exception wie du es gewohnt bist sondern setzt den Wert entsprechend, in diesem Fall positiv Infinit
Wenn ich mit ner If - Abfrage den Divisor auf Null checke, wie soll ich dann etwas angeben was er anstatt der Aufgabe macht? Bei Try macht er wenn ein Fehler unterläuft ja unten direkt weiter, bei einer If ja nicht. Logischerweise..
Wo ist das Problem? Frag doch einfach die Textbox auf "0" ab?
In dem Programm ging es darum Ausnahme-Fehler per Try-Catch abzufangen.
Hab ich halt als sone Art Übung gemacht, dazu dann halt noch der Zufallsgenerator.
Dann frage doch das Label ab? Es müsste ebenso den Text zurückgeben. Und die Eingabe erfolgt doch über eine TextBox? Wieso also nicht das machen, was SoNiice vorgeschlagen hat?
Du gehst viel zu viele Umwege, für Dein Ziel. Und extra das mit try-catch abzufangen, ist noch umständlicher, als es wirklich von Nöten ist.
Versteh zwar immernochnicht so genau warum das Ding ganz entgegen der Art wie es gedacht ist ne Exception werfen soll :P
Aber wenn es hier tatsächlich nur darum geht das das ganze ein reines Übungsprojekt ist um mit Exception zu spielen
Code:
try
{
float b = 1.0f;
float a = 0.0f;
float c = b / a;
if (float.IsNaN(c) | float.IsPositiveInfinity(c) | float.IsInfinity(c) | float.IsNegativeInfinity(c))
{
throw new System.ArgumentException("Exception occured");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
try
{
float a = 1.0f;
float b = 0.0f;
float c = a / b;
}
catch (DivideByZeroException)
{
MessageBox.Show("blub");
}
Dann wunder dich ne Runde
Just Kidding, wie gesagt, das Problem hier liegt minimal versteckt und deine Lösung würde nicht funktionieren.
.net schaut auf den String im Label wie ich das versteh, logischerweise würd das nur Käse ergeben, also ist es clever genug sich zu denken, das convert ich besser mal, da es eine Division ist, ist Float ne Gute wahl.
Ab diesem Punkt rechnet es mit Floats und Floats werfen nach der Standatisierung die C# nutzt keine direkte Exception sondern setzen bei einer Exception das return Value entsprechend als positive/negativ infinite oder NaN. Also dürfte von meine Verständnis her auch keine Exception geworfen werde. Wenn ich mich aber irre klärt mich gern auf
@ dready
ich muss gestehen das ich mir solche Threads nie im Detail ansehen sondern nur überfliege, deshalb auch minimalste Kommentare in meinem Beitrag. Sollte im OP das alles sein dann hast natürlich recht, ging eigentlich davon aus, dass Konvertierungen vor den eigentlichen Berechnungen gemacht worden wären.
Rippln - Geld verdienen durch alltägliches teilen 04/20/2013 - Off Topic - 5 Replies Hey Leute, ich habe gerade Rippln entdeckt, ein neuer Dienst bei dem man Geld verdienen kann, indem man Apps, etc mit seinen Freunden teilt. Am einfachsten zu verstehen ist das ganze wohl anhand dieses Videos : Rippln NDA - YouTube
Anmelden kann man sich unter : rippIn - dazu benötigt man allerdings einen Invitecode, den ich euch schicken kann, ich benötige dazu lediglich euren Vor- und Nachnamen und eure E-Mail Adresse.
[S] Werbung durch Facebook teilen [B] e*Gold 01/15/2012 - elite*gold Trading - 0 Replies Wie gesagt suche Werbung durch teilen ;D
Die seite sollte schon mehr als 30k likes haben .
Einfach pn schicken oder hier in thread schreiben (;
[S] Werbung durch Facebook teilen [B] e*Gold 01/08/2012 - elite*gold Trading - 0 Replies Wie gesagt :D suche Facebook teilen pn me :D mit der Seite die euch gehört ^^ dann Sende ich euch das e*gold .
Fertig :D
Max 10e*gold .
[S] Werbung durch Facebook teilen [B] e*Gold 01/07/2012 - elite*gold Trading - 3 Replies Suche leute die meine Seite teilen auf fb ^^ die seiten sollten schon viele likes haben :D einfach anschreiben ^^