Null und Varialben vom Typ Double

Status
Nicht offen für weitere Antworten.

Chris6783

Mitglied
Hallo,

Ich habe eine kleine Rechen-Funktion geschreiben, die ein Ergebnis vom Typ Double zurück liefert. Im Fehlerfall möchte ich jetzt allerdings den Wert "null" zurück geben, um diesen Fehlerfall in der aufrufenden Funktion abzufangen.

die simple zuweisung
Code:
double ergebnis = null;
scheint ja nicht zu funktionieren.. Gibt es da eine andere / elegantere Möglichkeit?

Danke im Vorraus!
mfg Christian
 

Chris6783

Mitglied
Danke! mit Double.NaN funktionierts bestens.

Ist ein komplettes Try - Catch Konstrukt nicht viel zu Aufwändig, nur um einen bestimmten Fehlerfall abzufangen? Ich bin zwar noch nicht lange in der Java Welt daheim, könnte mir aber vorstellen, dass es dadurch zu Geschwindigkeitseinbusen kommt? (Vom unnötigen aufblähen des Codes ganz zu schweigen)
 
B

Beni

Gast
Was für eine zeitkritische Anwendung, mit wievielen Millionen Berechnungen pro Sekunde, hast du denn, dass du dir Gedanken über Geschwindigkeit machen musst?

Oder suchst du einfach gerne nach Fehlern, die du garantiert haben wirst, weil irgendwo ein "if( resultat != NaN )" vergessen geht?

:wink:


P.S. du könntest eine RuntimeException werfen, die benötigen kein try-catch. Aber es gibt trotzdem eine saubere Fehlermeldung.
 

byte

Top Contributor
Chris6783 hat gesagt.:
Ist ein komplettes Try - Catch Konstrukt nicht viel zu Aufwändig, nur um einen bestimmten Fehlerfall abzufangen?

Nein, denn genau das ist der Sinn eines Try/Catch Blockes. Du musst solche Fehler auch nicht direkt abfangen und behandeln, sondern kannst sie auch durchaus erstmal weiterwerfen.
 

Marco13

Top Contributor
Kommt aber auch darauf an, ob man mit dem Fehler rechnet, wie oft er auftritt, ob der Aufrufer ihn beheben kann, etc. etc. ...

Chris6783 hat gesagt.:
...um diesen Fehlerfall in der aufrufenden Funktion abzufangen.
Das klingt erstmal nach Excpetion. Allerdings sollte man sich schon überlegen, WO (und WARUM) die Math-Funktionen keine Exceptions werfen, sondern ggf. NaN zurückgeben....

Chris6783 hat gesagt.:
....Geschwindigkeitseinbusen...
Da hätte Freud seine wahre Freude dran :lol:
 

Chris6783

Mitglied
Beni hat gesagt.:
Oder suchst du einfach gerne nach Fehlern, die du garantiert haben wirst, weil irgendwo ein "if( resultat != NaN )" vergessen geht?

Naja, ich rufe die Funktion im gesammten Code nur einmal auf.. Daher finde ich persönliche eine kleine If abfrage eleganter...

Gegen try-catch Blöcke in komplexeren Anwendung hab ich nichts, aber wenn ich mir mit einer simplen if abfrage etliche zeilen sparen kann, dann ziehe ich diese vor.
 

Marco13

Top Contributor
Mal ganz abgesehen davon: Du könntest deine Methode auch ein Double zurückliefern lassen...
Code:
private Double doit()
{
    Double value = null;

    if (fehler) return null;
}
Aber DAS ist i.a. deutlich langsamer als ein double!!!
 

byte

Top Contributor
Marco13 hat gesagt.:
Kommt aber auch darauf an, ob man mit dem Fehler rechnet, wie oft er auftritt, ob der Aufrufer ihn beheben kann, etc. etc. ...

Eine vernünftige Exception debuggt sich nun mal wesentlich schneller als ne NullPointerException, insofern macht es immer mehr Sinn eine Exception zu werfen als null zurückzugeben.
 
G

Guest

Gast
Chris6783 hat gesagt.:
Ich habe eine kleine Rechen-Funktion geschreiben, die ein Ergebnis vom Typ Double zurück liefert.
Es gibt zwei verschiedene Typen, die Du offenbar verwechselst:

double ist ein Werttyp, welcher direkt den Fließkommawert speichert
Double ist ein Referenztyp, welcher eine double-Zahl in einem Objekt "verpackt" (z.B. zum Speichern in Listen)

Einem double kannst Du kein null zuweisen, einem Double schon.

Kannst Du noch mehr über den Fehlerfall sagen? Was für ein Fehler ist das? Eher sowas wie "Division durch null"? Oder "Datei nicht gefunden?" :)

Fred
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
P Buffer und null Java Basics - Anfänger-Themen 3
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
N null in String replacen Java Basics - Anfänger-Themen 16
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
K Bufread.readLine())!= null wie beenden? Java Basics - Anfänger-Themen 4
C Variablen Provided text for message may not be null Java Basics - Anfänger-Themen 9
T ComboBox getValue() zeigt null Java Basics - Anfänger-Themen 7
J null exception Array Java Basics - Anfänger-Themen 5
tobikoch String x= null Bedeutung Java Basics - Anfänger-Themen 9
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
J Int wird als Null ausgegeben Java Basics - Anfänger-Themen 8
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
M jTable bekommt null Java Basics - Anfänger-Themen 1
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
der_Schokomuffin Hilfe gesucht: String wird auf null gesetzt! Java Basics - Anfänger-Themen 17
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
B if(object== null) abkürzen? Java Basics - Anfänger-Themen 6
O JavaArray Null Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
D Best Practice Konvention - Klassenmembers auf null setzen? Java Basics - Anfänger-Themen 2
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
Orkanson Null Pointer Expception Java Basics - Anfänger-Themen 3
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
I Polymorphie Null Objekt Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
J Einfache Frage zu "null" Java Basics - Anfänger-Themen 2
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
P Operatoren Parameter nicht auf null geprüft? Java Basics - Anfänger-Themen 16
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
C Null Pointer Exception Java Basics - Anfänger-Themen 10
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
G Null Pointer Exception Java Basics - Anfänger-Themen 4
R Gleitkommazahlen ohne führende Null Java Basics - Anfänger-Themen 10
M array = null Java Basics - Anfänger-Themen 2
F String equals NULL Problem Java Basics - Anfänger-Themen 4
F JSON null macht mir ein Problem Java Basics - Anfänger-Themen 3
R Property Value als null setzen Java Basics - Anfänger-Themen 1
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
T Compiler-Fehler Null type safety (type annotations) Java Basics - Anfänger-Themen 5
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
J Fehlerhafte Ausgabe "null" Java Basics - Anfänger-Themen 2
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
W Input/Output DataOutputStream gibt NULL zurück Java Basics - Anfänger-Themen 5
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
D Null Ausgabe obwohl wert zugewiesen Java Basics - Anfänger-Themen 5
J Alias null Java Basics - Anfänger-Themen 4
B Aliasing bei null-Objekten Java Basics - Anfänger-Themen 3
A null-Überprüfung Java Basics - Anfänger-Themen 24
O Methode gibt Null zurück Java Basics - Anfänger-Themen 7
D Methoden Implementieren von einer Zoomfunktion innerhalb eines JPanels mit null-Layoutmanager Java Basics - Anfänger-Themen 1
A Null Pointer Exception in Liste Java Basics - Anfänger-Themen 11
T Null Java Basics - Anfänger-Themen 3
X Array trotz Befüllung "null" Java Basics - Anfänger-Themen 11
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
K Selbst renderndes Object auf null setzen Java Basics - Anfänger-Themen 1
L Null Pointer Exception bei setText Java Basics - Anfänger-Themen 9
D Methode die statt char[] ein "null" zurück gibt Java Basics - Anfänger-Themen 8
J .txt Datei "einlesen "und in String speichern ergibt immer NULL Java Basics - Anfänger-Themen 17
M Input/Output File.listFiles() gibt null zurück Java Basics - Anfänger-Themen 3
M Kann einen Array nicht füllen, im Nachhinein nur "null"-Werte Java Basics - Anfänger-Themen 11
J Verschränkte Rekursion und null Ahnung... Java Basics - Anfänger-Themen 0
X Vererbung Setzen auf Null bei Subklassen Java Basics - Anfänger-Themen 2
S Rückgabewert null in Methode mit Thread Java Basics - Anfänger-Themen 2
C MIME-Type null Java Basics - Anfänger-Themen 4
T Null Pointer Exception Java Basics - Anfänger-Themen 4
M toString gibt "null" statt "0.0" aus Java Basics - Anfänger-Themen 5
M Konstruktor auf null prüfen, Arrays Java Basics - Anfänger-Themen 9
G Null Pointer Exeption Java Basics - Anfänger-Themen 8
A If object != null funktioniert nicht Java Basics - Anfänger-Themen 2
N 'null' aus String löschen Java Basics - Anfänger-Themen 7
F Irgendein "Null" Fehler.... Java Basics - Anfänger-Themen 5
P Map liefert bei put null als Ergebnis Java Basics - Anfänger-Themen 6
M Interface Das Null-Layout Java Basics - Anfänger-Themen 12
M Problem mit null pinterexception beim laden von Bildern Java Basics - Anfänger-Themen 20
Dogge NumberFormatException null Java Basics - Anfänger-Themen 5
C 2 Objekte, 1 immer Null? Java Basics - Anfänger-Themen 8
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
J db4o-attrbibutauslesen null Java Basics - Anfänger-Themen 9
MiMa Null Inhalte in Variablen Java Basics - Anfänger-Themen 28
B Variable wird einfach so wieder auf "null" gesetzt Java Basics - Anfänger-Themen 12
X Interpreter-Fehler Null? Java Basics - Anfänger-Themen 16
R Null und 0 Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben