Exception Behandlung

Status
Nicht offen für weitere Antworten.
S

saka22

Gast
Hallo ich bin sozusagen ein Newby in Sachen Java. Ich habe folgendes Problem. Ich gebe als Argument auf der Konsole eine Zahl bzw. Buchstaben ein. Bei Eingabe von Buchstaben soll er mir den Fehler bei der berechnung der Fakultät abhelfen. Leider schaffe ich das irgendwie nicht. Es bestehen drei Klassen und ich arbeite mit der Eclipse Umgebung.
Für Hilfe bin ich sehr dankbar.
MfG

...............................................................................................
package aufgabenblatt3;

public class RuntimeException {

public static void main(String[] args) throws MyException{
int i = Integer.parseInt(args[0]);
System.out.println("Eingabe ist: " + i + "!");

Fakultaet f = new Fakultaet();
int a = f.fakul(i);
System.out.println(a);
}
}
...............................................................................................
package aufgabenblatt3;

public class Fakultaet{
int erg = 1;

public int fakul(int i) throws MyException{
try{
for(int l=1; l<=i; l++){
erg = l * erg;
throw new MyException("false");
}//for

return erg;

}//try
catch(MyException e){
System.out.println(e.toString());
System.out.println("in catch-Anweisung");
//e.printStackTrace();
return erg;
}//catch
}//Methode-fakul
}//Klasse
...............................................................................................
package aufgabenblatt3;

public class MyException extends Exception {
public MyException() {}
public MyException(String msg) {super(msg);}
}
 
S

SlaterB

Gast
> soll er mir den Fehler bei der berechnung der Fakultät abhelfen

definiere das bitte näher auf Deutsch,

wenn man Buchstaben eingibt, dann merkst du das doch schon in der main bei
int i = Integer.parseInt(args[0]);

was hat das mit der Operation fakul(int i) zu tun?
die nimmt einen int als Parameter, da kann es zu keinem Buchstaben-Fehler kommen

-----------

in fakul(int i) steht
throw new MyException("false");
ohne jede Einschränkung,
schlecht
 

saka

Neues Mitglied
die Aufgabenstellung ist, ich soll ein Ergebnis anhand Fakultät poduzieren und mögliche Fehler die auftreten können bzw. selber Fehler einbauen und diese mit einer Exception abfangen. Übung ist mit Exceptions vertrauter zu werden.

bei Eingabe eines Buchstabens statt Zahl, sollte ich dann bei der main-Methode schon ein try/catch-Anweisung machen zum abfangen von Fehlern mit Buchstaben?

meine fakul-Methode habe ich überarbeitet, weiß aber nicht was du mit einer Einschränkung bei
>throw new MyException("false");<
meinst.

--------------------------------------------------------------------------------------------
package aufgabenblatt3;

public class Fakultaet{
int erg = 1;

public int fakul(int i) throws MyException{
try{
for(int l=1; l<=i; l++){
if(i>0||i<32){
erg = l * erg;
}
else{
throw new MyException("Bitte Zahl zw. 0-31 eingeben!");
}
}//for
return erg;
}//try
catch(MyException e){
System.out.println(e.toString());
e.printStackTrace();
return erg;
}//catch
}//Methode-fakul
}//Klasse
/*
Ausnahme 1:
bei 31! ist schluß
Ausnahme 2:
kein string eingeben
*/
 
S

SlaterB

Gast
> bei Eingabe eines Buchstabens statt Zahl, sollte ich dann bei der main-Methode schon ein try/catch-Anweisung machen zum abfangen von Fehlern mit Buchstaben?

es geht gar nicht anders, da du ja an fakul(int i) nur einen int übergibst,
wenn du den EingabeString übergibst,
dann würde diese Buchstaben-Fehler in fakul() auftreten, aber auch nur gekünzelt, denn selbst dort müsstest du die Umwandlung
int i = Integer.parseInt(string);
vor der eigentlichen Berechnung machen

> weiß aber nicht was du mit einer Einschränkung bei
> >throw new MyException("false");<
> meinst.

die hast du doch nun schon selber eingebaut ;)
vorher wurde die Exception IMMER geworfen, was keinen Sinn machte,
nun nur noch in bestimmten Ausnahmesituationen, du hast das Werfen auf ein sinnvolles Maß reduziert/ eingeschränkt ;)

es würde aber reichen, i einmal am Anfang zu prüfen, nicht in jedem Schleifendurchlauf,
i verwendet sich doch nicht,

übrigens ist i ein häufiger Variablenname in for-Schleifen,
nenne den Parameter lieber n
 

saka

Neues Mitglied
hey, vielen Dank für die Hilfe. Nach langem tun und probieren habe ich folgenden lauffähigen Quelltext. Ich denke dieses müsste reichen für die Abgabe des Programms.

------------------------------------------------------------------------------------
package aufgabenblatt3;

public class RuntimeException{
public static void main(String[] args) throws MyException, NumberFormatException{
try{
int i = Integer.parseInt(args[0]);
System.out.println("Eingabe ist: " + i + "!");
Fakultaet f = new Fakultaet();
int a = f.fakul(i);
System.out.println("Ergebnis : " + a);
//throw new NumberFormatException("Bitte Zahl eingeben! ");
}//try
catch(NumberFormatException n){
System.out.println("Bitte Zahl eingeben! " + n.toString());
n.printStackTrace();
}//catch
}//main
}//class
/*
Ausnahme 2:
kein string eingeben
*/
------------------------------------------------------------------------------------
package aufgabenblatt3;

public class Fakultaet{
int erg = 1;
public int fakul(int i){ /*>throws MyException< nicht notw.,siehe else,*/
try{
for(int l=1; l<=i; l++){
if(i>0 & i<32){erg = l * erg;}//if
else{
throw new MyException("Bitte Zahl zw. 0-31 eingeben!"); //Ausgabe in e.printStackTrace(); Fehler weiterleitung an main?
}//else
}//for
return erg;
}//try
catch(MyException e){
//System.out.println(e.toString()); //nicht unbedingt nötig
e.printStackTrace();
return erg;
}//catch
}//Methode-fakul
}//Klasse
/*
Ausnahme 1:
bei 31! ist schluß
?????return bei catch
*/
 
S

SlaterB

Gast
di Exception solltest du nicht in der Operation fakul() abfangen, innerhalb einer Operation ist das meist Quatsch,

try/ catch im Main-Programm ist besser, ja
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
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
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
A Int Eingabe: String mit Exception abfangen. Aber wie? Java Basics - Anfänger-Themen 3
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
V Threads Exception in Thread behandeln Java Basics - Anfänger-Themen 3
F Java exception bei der Ausführung Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben