Exception selber schreiben

claudia_vw

Mitglied
Hallo
könntet ihr mir vielleicht bei meiner Uniabgabe helfen ich komme nicht weiter.:noe:

Hier meine Aufgabe:
Ergänzen Sie Ihre Implementierung um die Exceptions WarteSchlangLeerException und WarteSchlange-
VollException, die beide Unterklassen von WarteSchlangenException sind. WarteSchlangenException soll
wiederum als Spezialisierung von Exception, nicht aber von RuntimeException realisiert werden.
Passen Sie die Implementierung der Warteschlange so an, dass die Exceptions sinnvoll geworfen werden
und ergänzen Sie weiter benötigte Exceptions. Ergänzen Sie nötige Konstrukte in der Implementierung des
Batchsystems, sodass es sinnvoll mit der erweiterten Warteschlangen funktioniert.

Ich habe die Klassen erzeugt aber ich weiss nicht wie man eine Exception korrekt schreibt.
Meine Warteschlange funktioniert und ist auf 5 Einträge im Array(schlange) beschränkt
Ich hin momentan soweit:

Ich weiss auch nicht warum ich diese Klasse erzeugen soll oder was sie macht.
Java:
public class WarteSchlangenException extends Exception {
try {  // Anweisungen }
catch (Typ1 Objekt) {  // Anweisungen  }	
}

Java:
public class WarteSchlangeVollException extends WarteSchlangenException {
try {if(schlange[schlange.length-1]!=null) }  // keine Ahnung
catch (Typ1 Objekt) {  System.out.println ("Fehler: Warteschlange voll"); }	
}

public class WarteSchlangeLeerException extends WarteSchlangenException {
try {if(schlange[0]==null) }  // keine Ahnung
catch (Typ1 Objekt) {  System.out.println ("Fehler: Warteschlange leer"); }	
}


Aufgabe 2 baut auf Aufgabe 1 auf:
Welche Ausgaben könnte das unten angegeben Programm erzeugen, wenn schlange1 und schlange2 zwei beliebige Warteschlangeobjekte vom gleichen Typ sind? Begründen Sie Ihre Angabe und machen Sie, falls möglich, Verbesserungsvorschläge.
Java:
try {
for(int i = 0 ; i < 1 0 ; i ++){
schlange2.offer(schlange1.poll) ;
}
}catch(WarteSchlangenException){
System.out.println("Es trat ein Fehler in der Warteschlange auf!" ) ;
}catch(WarteSchlangeVollException){
System.out.println( "Liste ist voll!" ) ;
}catch(WarteSchlangLeerException){
System.out.println("Liste ist leer!" ) ;
}

Bei dieser Aufgabe weiss ich nichts. Tut mir leid.
 

Schumi

Bekanntes Mitglied
try catch usw. ist Code der mit Exceptions umgeht. Der hat in der Exception selber eher weniger zu suchen. Du kannst recht beliebig Exceptions definieren. Die müssen meist gar nichts extra können, weil das meiste schon in den Oberklassen passiert.
In Deinem restlichen Programmcode (und nicht in der Exception) machst Du bestimmte Prüfungen, treten Fehlerfälle auf, wirfst Du dann entsprechende Exceptions:
Java:
if(warteschlange.istLeer())
{
  throw new WarteschlangeLeerException();
}
usw.

ETA: Try/Catch ist dann dafür da, an anderer Stelle mit solchen geworfenen Exceptions umzugehen. Sprich man versucht (try) einen bestimmten Codeblock auszuführen, wird in einer Methode daherin eine Exception geworfen kann man sie fangen (catch) und behandeln.

Mehr vielleicht hier: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 8 Exceptions
 

eRaaaa

Top Contributor
Also zu Aufgabe1:
In den Exceptionklassen haben die if`s nichts zu suchen, vor allem schon garnicht so wie sie da momentan drinnen stehen :D
Die Abfrage, mit if Schlange voll etc. kommt in die Methoden deiner Schlange, also z.b. in der addMethode...

Wenn die Schlange schon voll sein sollte, wirfst du eine Exception:

Java:
if(...){
//ist noch nicht voll, also adde
}
else{
//voll, also werfe exception
throw new WarteSchlangeVollException();
}

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 8.3 Auslösen eigener Exceptions
 

claudia_vw

Mitglied
Ok das hab ich jez soweit geändert, aber was muss jez in die Klasse WarteschlangeVollException?
try{??? }
catch(???){ System.out.println("Fehler");}
 

Landei

Top Contributor
Ich glaube, du hast den Sinn von Exceptions nicht verstanden: Sie sagen, was schiefgelaufen ist, aber sie versuchen nicht, das irgendwie wieder gradezubiegen. Exception sollen einfach eine möglichst nützliche Beschreibung der Umstände des "Unfalls" vom Unfallort zu dem Ort, der sich des Problems annimmt, transportieren.

Beispiel: Ich versuche, ein File auf Platte zu schreiben, aber Platte voll. Eine entsprechende Exception wird "geworfen". Wenn ich diese irgendwo (eventuell mehrere Aufrufebenen entfernt) mit catch wieder "auffange" und gegebenenfalls analysiere, weiß ich, dass die Platte voll ist und kann reagieren. Mögliche Reaktion wäre, den Nutzer zu bitten, vor dem Speichern etwas anderes zu löschen und es nochmal zu versuchen, oder ich kann einfach eine Meldung ausgeben und das Programm beenden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
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