Prüfe ob Exception

Status
Nicht offen für weitere Antworten.

gentleL

Aktives Mitglied
Hi,

wollt mal fragen wie ich überprüfe ob in einer Methode eine Exception geworfen wird, wenn ja soll das Programm keine Berechnungen machen wenn keine Exception dann weitermachen.

Danke
 
G

Gast

Gast
Hi,

dafür kannst du um den Methodenaufruf einen try-catch-Block schreiben. Das sieht dann so aus:
Code:
try {
object.methode();
} catch (IrgendeineException e) {
//Fehlerbehandlung
}

Bei Fehlerbehandlung schreibst du halt dann den Code rein, der im Fehlerfall ausgeführt werden soll. Java sorgt dann dafür, das die Fehlerbehandlung ausgeführt wird, sobald in der aufgerufenen Methode eine Exception vom gefangenen Typ geworfen wird.

Schau dazu am besten nochmal in die Insel, wenn mich nicht alles täuscht, gibt es da ein komplettes Kapitel zur Fehlerbehandlung.

Grüße,
Andreas
 

gentleL

Aktives Mitglied
Den Try Catch block hab ich in einer Methode wenn zB ein Sonderzeichen oder so eingegeben wird

Code:
public int umwandeln(String uebergabe)
{
	int zahl;
	try
	{	
	zahl = Integer.parseInt(uebergabe);
	}
	catch(NumberFormatException nfe)
	{
		zahl=0;
	}
	return zahl;
}


WEnn der Button gedrückt wird wird dann eingelesen mit zB

Code:
hoehe = umwandeln(hoeheTextFeld.getText());

der soll bei mir dann die berechnung starten, wenn umwandeln keine exception wirft sonst nichts ohne eine Fehlermeldung...

Das ist mein Problem :)
 
S

SlaterB

Gast
umwandeln muss diese Information im Rückgabewert angeben,
ein int ist dafür eher schlecht,
wenn du aber eine höhere Klasse zurückgibst, die einen boolean für 'Exception aufgetreten' enthält, dürfte klar sein, was passiert ist
 

gentleL

Aktives Mitglied
Ich versteh ungefähr was du mir sagen willst SlaterB

wie setze ich das um

die Methode gibt mir ja den konvertierten Wert zurück wie mache ich das dann in der Methode ?

Code:
public boolean umwandeln(String uebergabe)
{
	bool zahl;
	try
	{	
	zahl = Integer.parseInt(uebergabe);
	}
	catch(NumberFormatException nfe)
	{
		zahl=true;
	}
	return zahl;
}

würde der mir ja nicht wirklich das zurückgeben was ich will oder ?
 
S

SlaterB

Gast
welche Wörter oder Buchstaben von "höhere Klasse mit int + boolean statt einfachen int zurückgeben" sind denn unverständlich?

public KlasseMitVielenInformationen umwandeln(String uebergabe)
 

gentleL

Aktives Mitglied
Kann mir vielleich jemand sagen wie ich das realisieren kann oder zumindest was zum lesen geben ^^
 

Andreas29

Bekanntes Mitglied
Hi,

also, ich würde dafür keine eigene Klasse schreiben. Höchstens eine eigene Exception-Klasse. Was spricht dagegen, das die Klasse umwandeln eine Exception wirft, wenn ein Fehler aufgetreten ist? Dann könnte man umwandeln() und die Berechnungsmethode in den Try-Block schreiben und bräuchte keine weitere Klasse, weil die nächste Zeile im try-Block nur aufgerufen wird, wenn die Methode umwandeln() erfolgreich abgearbeitet wurde. Anderfalls wird der catch-Block durchlaufen. Das ist der Standardweg für Fehlerbehandlung in Java und man sollte so selten wie möglich die Standardpfade verlassen und hier ist es meiner Meinung nach gänzlich unnötig.

Grüße,
Andreas
 

Schwups

Mitglied
Zwei Möglichkeiten:

a) So wie es Andreas sagt - - die Methode umwandeln() sollte selbst eine Exception werfen (am Besten genau die NumberFormatException).

Das sieht dann so aus:

Code:
public int umwandeln(String uebergabe) throws NumberFormatException {
   return Integer.parseInt(uebergabe);
}

und Aufruf über:

Code:
try {
   int hoehe = umwandeln(...);
}
catch(NumberFormatException ex) {
   System.err.println("Fehler: " + ex);
   ex.printStackTrace();
}

Verwende die Fehlerbehandlung so, wie sie in Java gedacht ist, nämlich mit Exceptions. Fehler als int- oder boolean-Werte einer aufrufenden Methode bekannt zu geben ist ganz schlechter Stil und hat mit OO nicht viel zu tun.


b) Besser in dem Fall ist es natürlich auf die Methode umwandeln() komplett zu verzichten - sie macht keinen Sinn da sie gegenüber Integer.parseInt() keinen Mehrwert bietet. Falls dort noch andere Dinge erledigt werden sollen wäre Möglichkeit a) allerdings zu verwenden.
 

gentleL

Aktives Mitglied
Das Problem ist es ich habe 20 Labels die ich einlese in Variablen, deswegen hab ich auch eine Methode geschrieben, um das try catch 20 mal zu verhindern.
 

Schwups

Mitglied
Du kannst die 20 Label innerhalb eines try-catch-Blocks einlesen, dazu brauchst du keine 20 try-catch Statements:

Code:
try {
   int zahl1 = Integer.parseInt(...);
   int zahl2 = Integer.parseInt(...);
   // usw.
}
catch(NumberFormatException ex) {
   // Fehlerbehandlung 
}

Und selbst wenn an 20 verschiedenen Stellen das try-catch notwendig ist; sehe es nicht als "Behinderung" an, die "verhindert" werden muss, sondern als gut durchdachtes Prinzip um die Qualität deiner Software zu verbessern, wenn es richtig angewendet wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
N prüfe ob etwas in einer Matrix steht... Java Basics - Anfänger-Themen 14
H Prüfe auf zulässige Zeichen Java Basics - Anfänger-Themen 5
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
H Erste Schritte Exception: 0 Java Basics - Anfänger-Themen 2
A Exception vs. Testklasse (Programm testen) Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
R "Missbrauch" von Exception zum Programmfluss Java Basics - Anfänger-Themen 1
U Exception: OutOfMemoryError Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben