Bessere Lösung?

Scynja

Mitglied
Hallo nochmal=),

Java:
	try{																		///ist das nötig?		
	Synset[] synsets = database.getSynsets(searchterm, SynsetType.NOUN); 
    nounSynset = (NounSynset)(synsets[0]);
	}
	catch(Exception ex){
		return result;
	}
	Synset[] synsets = database.getSynsets(searchterm, SynsetType.NOUN); 
    nounSynset = (NounSynset)(synsets[0]);                                     /// ist das nötig?

dies ist diesmal ein Programmausschnitt, der funktioniert, allerdings ist mir die doppelte Definition ein Dorn im Auge. Rückgabewert ist vom typ Daten und am Ende wird diesem nounsSynset als Wert zugewiesen. Eclispe meint daraufhin, dass die Variable eventuell nicht initialisiert wurde, was sie aber rein logisch ist. Entweder das try funktioniert und sie ist initialisiert oder es wird abgebrochen und die variable wird nicht mehr benötigt.

Ziel der ganzen Aktion sollte es sein eine Fehlermeldung in der Konsole bei einer leeren Eingabe("") zu unterbinden. Die Fehlermeldung bringt das Programm zwar nicht zum Absturz, aber Fehler ist eben Fehler. Nur wenn ich deswegen jetzt passagen doppelt schreiben muss, kann ich auch die fehlermeldungen in der Konsole alle drinnenlassen oder? Was wäre die beste Lösung hierfür (am besten kein doppelter Quelltext und keine Fehlermeldung)
 

HoaX

Top Contributor
Wie wäre es mit
Java:
    Synset[] synsets = null;
    nounSynset = null;
	try{	
	    synsets = database.getSynsets(searchterm, SynsetType.NOUN); 
        nounSynset = (NounSynset)(synsets[0]);
	}
	catch(Exception ex){
		return result;
	}
?
 
M

Marcinek

Gast
Also Exceptions sind nicht da um den Programmfluss zu steuern, dafür nutzten wir If- Abfragen.

Da kannst du prüfen, ob die vorbedingungen zum Ausführen der Aktion gegeben sind.

Das was du hier im speziellen machst ist eher unsinnig.

Du versuchst etwas zu machen, dass eine Exception liefern kann.

Danach versuchst du es nochmal. Entweder es klappt, dann machst du es 2x.

Oder es klappt nicht, dann machst du es einmal ohne erfolg ;D
 

Scynja

Mitglied
Stimmt die Variablen vorher mit null zu initiallisieren sieht schon gleich sauberer aus.

@Marcinek dessen war ich mir schon bewusst, deswegen habe ich ja hier die Frage gepostet. Bei if-Abfragen besteht das Problem, dass man in der Regel nicht die Vorbedingung testen kann ob etwas null ist.
Beispiel: If(LinkedList.getNext()!=null)... wenn ich es richtig in Erinnerung habe, kommt so immer eine Fehlermeldung, weil er in dem Moment schon versucht auf das Element zuzugreifen.

Und danke für die schnellen Antworten
 

Dekker

Bekanntes Mitglied
Stimmt die Variablen vorher mit null zu initiallisieren sieht schon gleich sauberer aus.

@Marcinek dessen war ich mir schon bewusst, deswegen habe ich ja hier die Frage gepostet. Bei if-Abfragen besteht das Problem, dass man in der Regel nicht die Vorbedingung testen kann ob etwas null ist.
Beispiel: If(LinkedList.getNext()!=null)... wenn ich es richtig in Erinnerung habe, kommt so immer eine Fehlermeldung, weil er in dem Moment schon versucht auf das Element zuzugreifen.

Und danke für die schnellen Antworten

Na dann prüf doch auch vorher
Java:
if(list != null && list.getNext() != null) foo();

Er geht die Forderungen der Reihe nach von links nach rechts durch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Funktioniert dies? Und gibt es eine bessere Lösung? Java Basics - Anfänger-Themen 6
S Bessere Lösung zu häufigem instanceof Java Basics - Anfänger-Themen 25
S LineNumberReader - bessere Lösung möglich? - Log4J Java Basics - Anfänger-Themen 9
G Bessere Lösung für SQL STMNT ? (Schneller?) Java Basics - Anfänger-Themen 4
T KLasse das bessere Array Java Basics - Anfänger-Themen 16
M Bessere bzw. kürzere Variante für Code? Java Basics - Anfänger-Themen 2
cyro Best Practice Bessere Alterative zu ArrayList gesucht Java Basics - Anfänger-Themen 3
N Bessere Performance durch final: wann denn überhaupt? Java Basics - Anfänger-Themen 28
F bräuchte eine bessere entwicklungsumgebung Java Basics - Anfänger-Themen 2
S unschöne schleifen.jemand ne bessere idee Java Basics - Anfänger-Themen 4
J Wartezustand in Endlosschleife - bessere Alternativen Java Basics - Anfänger-Themen 20
G was ist die bessere Variante Java Basics - Anfänger-Themen 4
C Rechnen mit Brüchen, ist meine Lösung soweit richtig? Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
W Texteingabe - Bedeutung Fehlermeldung, Lösung? Java Basics - Anfänger-Themen 18
M Kennt jemand die richtige Lösung? Java Basics - Anfänger-Themen 7
H Codewars akzeptiert Lösung nicht Java Basics - Anfänger-Themen 29
A Selbe Aufgaben stellung, andere Lösung Java Basics - Anfänger-Themen 7
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
ZH1896ZH Java-SemesterTest ohne Lösung :( Java Basics - Anfänger-Themen 47
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
M Hamstersimulator- lösung hilfe benotigt Java Basics - Anfänger-Themen 3
M Hamstersimulator- Lösung? Java Basics - Anfänger-Themen 3
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
W Tipps/Anmerkungen zu meiner Lösung?! Java Basics - Anfänger-Themen 2
H lösung aufgabe Java Basics - Anfänger-Themen 12
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
M Methoden Fehler und finde die Lösung nicht wirklich Java Basics - Anfänger-Themen 6
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
J Best Practice DOS Fenster mit Befehlszeile (Lösung) Java Basics - Anfänger-Themen 2
S mehrfache if-Abfragen - beste Lösung Java Basics - Anfänger-Themen 1
J Einfache pub/sub Lösung mit ausführlicher Doku Java Basics - Anfänger-Themen 5
D Best Practice Testdaten. Was ist eine saubere Lösung? Java Basics - Anfänger-Themen 3
D Datentypen Datentyperstellung | Kompiler sagt Syntax Error doch ich find keine Lösung Java Basics - Anfänger-Themen 2
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
C Lösung für RegEx in Java gesucht Java Basics - Anfänger-Themen 2
S Eine rekursive Lösung Java Basics - Anfänger-Themen 4
G OOP [Eilig] Biete 10€ für Lösung von 2 Grundlagen-Aufgaben Java Basics - Anfänger-Themen 6
C For-Schleife wie kommt man auf die Lösung? Java Basics - Anfänger-Themen 2
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
C Best Practice Was ist die elegantere Lösung bzgl. Klassenaufteilung in Robocode ? Java Basics - Anfänger-Themen 3
G Vererbung Lösung Standardproblem Java Basics - Anfänger-Themen 2
J Lösung eines Zahlenintervall wierd an der Falschen Stelle angezeigt. Java Basics - Anfänger-Themen 8
C Sortierverfahren - allgemeine Lösung? Java Basics - Anfänger-Themen 9
3 Bitte um Hilfe bei Lösung einer Aufgabe Java Basics - Anfänger-Themen 16
D speicherschonendere lösung? Java Basics - Anfänger-Themen 19
M Interval Teilmenge bestimmen - Fehler in meiner Lösung Java Basics - Anfänger-Themen 6
M Suche Korrektor für meine Lösung (FH: Java1 - Übungsklausur) Java Basics - Anfänger-Themen 4
F OOP Wieder mal Zugriffsprobleme... (Lösung am Ende) Java Basics - Anfänger-Themen 11
U JTable viele möglichkeiten, keine Lösung Java Basics - Anfänger-Themen 5
T Objektübergabe - saubere Lösung? Java Basics - Anfänger-Themen 3
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
A brauche eine Lösung für Problem bei Moorhuhn-Version Java Basics - Anfänger-Themen 5
C Lösung einer Aufgabe mittels Iteration und Rekursion Java Basics - Anfänger-Themen 12
F Eingabe darf nur 1 oder 0 sein. Meine Lösung macht Probleme. Java Basics - Anfänger-Themen 8
C Frage zu try - catch (saubere Lösung?) Java Basics - Anfänger-Themen 3
D Benutzung von globalen Variablen einzigste Lösung? Java Basics - Anfänger-Themen 6
F Servlets, Formulare und ich weiß keine Lösung Java Basics - Anfänger-Themen 4
A Struktur -> Beste Lösung? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben