ERLEDIGT
NEIN
NEIN
ANTWORTEN
57
57
ZUGRIFFE
1806
1806
EMPFEHLEN
-
Code :
1 2 3 4 5 6 7 8 9 10 11
public class TestExceptions { static String arr[] = {"Alpha", "Beta", "Gamma", "Zeta"}; public static void zeigeEintrag(int index) { System.out.println("Eintrag " + index + " lautet: " + arr[index]); } public static void main(String args[]) { int index = Integer.parseInt(args[0]); zeigeEintrag(index); } }
irgendwie so müsste das funktionieren, oder
Code :1 2 3 4 5 6 7
try { zeigeEintrag(); } catch(NichtMoeglichException) { System.out.println("Betrag kann nicht abgehoben werden"); } } }
-
Hi!
Hm ... also nochmal zurück zur Aufgabenstellung:
Mußt du eine eigene, d.h. selbstimplementierte Exceptionbehandlung implementieren, oder auf der gegebenen sehr guten von Java aufbauen? Wenn du auf die von Java aufbauen kannst, brauchst du dir keine eigene Klasse implementieren, wenn ja, dann muss diese Klasse von ... moment, ich bin mir jetzt auch nicht sicher, aber ich glaube Exception abgeleitet sein.
Code :1 2 3
public class MyTerribleExamException extends [COLOR=Red]Exception [/COLOR]{ ... }
Aber zunächst mal eine kleine Einführung in Exception, oder Fehlerbehandlung (soweit ich das verstanden habe zumindest
)
Exceptions sind nichts anderes als definierte Fehler, die bei gewissen Bedingungen auftauchen und "geworfen" werden. Dies erleichtert einerseits das Kontrollieren von Code, da du zur Laufzeit, also wenn der Code ausgeführt wird, einen definierten Fehler vorfindest, wenn ein solcher Fehlerfall auftritt, und zweitens hat man so auch die Möglichkeit das eigene Fehler oder Fehlerbedingungen zu definieren. Die Syntax sieht wie folgt aus:
Methode die eine Exception werfen soll:
Code :1 2 3 4 5
public void myTestExceptionMethod( ... ) throws MyTerribleExamException { // do your stuff ... // if wrong then ... throw new MyTerribleExamException ("Fehlerbeschreibung"); }
Du siehst, es gibt also Methoden die Exceptions "werfen" (throw). Nun, wenn diese Methode verwendet wird, kann es eben passieren, dass ein Fehler auftritt, und eine Exception geworfen wird. Was, wenn das jetzt passiert? Ganz einfach, das Zauberwort, oder die Wörter sind "try-catch". Mit HIlfe von sogenannten try-catch Blöcken kannst du Exceptions jeglicher Art abfangen und auch behandeln (es gibt dann noch soetwas wie final, aber das wollen wir hier mal aussparen). Im try Block wird, wie der Name schon sagt, "versucht" etwas bestimmtes zu machen, z.b. auf einen Index eines Arrays zuzugreifen. Hierbei wird eine sensible Methode oder ein Vorgang ausgeführt.
Code :1 2 3 4 5
// wir befinden uns in einer beliebigen methode, z.b. main .... try { // aufruf des sensiblen codes, der eine Exception werfen kann ... myTestExceptionMethod(...); }
Hierbei können nun Exceptions auftreten. Der try Block registriert nun diesen Exceptionwurf, und leitet ihn an den catch Block (ums vorsichtig auszudrücken) weiter. Im catch Block wird diese Exception abgefangen und alles was dann IM catch Block an definierten Vorgehensweisen festgelegt worden ist, wird ausgeführt. Dies könnte, wie im Beispiel hier, eine Ausgabe auf die Console sein.
Code :1 2 3 4
catch (MyTerribleExamException e) { // reagiere auf die abgefangene Exception ... System.out.println("Jo! Eine Exception ist aufgetreten!"); }
Wenn man nicht genau weiß, welche Exception aufgetreten ist, dann kann man auch statt "MyTerribleExamException" einfach nur "Exception" schreiben (das ist möglich, da ja ein Objekt geworfen wird, und alle Exceptionklassen von Exception abgeleitet worden sind).
Hm ... jo, ich hoffe es war einigermassen verständlich für dich. Wenn nicht, einfach posten
Gutes Schaffen wünsch ich!
Gruß
TOMalles Gute kommt von ...
-
@morphi79:
Ich denk das probieren wir nochmal, denn mit sowas kann niemand arbeiten.
Gib doch mal an was Du genau nicht verstanden hast.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
wenn ich diesen code habe
Code :1 2 3 4 5 6 7 8 9 10 11 12
[left]public class TestExceptions { static String arr[] = {"Alpha", "Beta", "Gamma", "Zeta"}; public static void zeigeEintrag(int index) { System.out.println("Eintrag " + index + " lautet: " + arr[index]); } public static void main(String args[]) { int index = Integer.parseInt(args[0]); zeigeEintrag(index); } }[/left]
und möchte das machen:
[left]Modifizieren Sie die Klasse so, dass die Methode zeigeEintrag() keine Exception wirft, wenn der übergebene Index außerhalb der Array-Grenzen liegt. Stattdessen soll in einem solchen Fall die Meldung ausgegeben werden, dass es keinen Eintrag mit diesem Index gibt. Verwenden Sie dazu Anweisungen zur Ausnahmebehandlung, nicht die Eigenschaft length des Arrays.[/left]
[left] [/left]
[left]Muss ich dann zuerst eine Klasse mit extends bauen? [/left]
-
Ich hab zwar nicht viel Ahnung von Java, aber fuer sowas ist doch try...catch zustaendig.
Also ein Konstrukt dieser Art (oder aehnlich):
Code :1 2 3 4 5 6 7 8
try { // } catch (Exception exc) { // }PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
in einer eigenen klasse oder?
-
Moin,
für mich sieht das eher danach aus:
Code :1 2 3 4 5 6 7 8 9 10 11
public static void zeigeEintrag(int index) { if ( index < 0 || index >= arr.length ) { System.out.println("Fehlerhafter Index uebergeben"); } else { System.out.println("Eintrag " + index + " lautet: " + arr[index]); } }
-
jetzt bin ich noch mehr verwirrt....
-
12.01.06 08:45 #54Verwenden Sie dazu Anweisungen zur Ausnahmebehandlung, nicht die Eigenschaft length des Arrays
Zitat von Snape
genau so soll er es nicht machen.
Er soll die ArrayOutOfBounce Exception fangen.Kohlkopf
Zitat von Benjamin Franklin
-------------------------------------------------------------------------------------------
.:Mitglied und offizieller Erdbeerenpflanzer des 1. offiziellen Sven Uwe Fan-Clubs:.
-
das mit try catch ist also das was ich brauche. muss ich dafür ne extra klasse machen? schon oder?
-
Nein, eher
Code :1 2 3 4 5 6 7 8 9 10 11
public static void zeigeEintrag(int index) { try { System.out.println("Eintrag " + index + " lautet: " + arr[index]); } catch(Exception e) { System.out.println("Fehlerhafter Index uebergeben"); } }
-
mhh. und die einfach hinzufügen?
oh ist das kompliziert. ich wünsche keinem den lehrer, den ich in java hatte und alles aus büchern lernen ist sehr schwierig. danke für eure hilfe schon einmal.
aber nochmal zurück. füge ich die einfach ein?
-
Exception ist eine Klasse im Java Framework. Da brauchst du keine neue Klasse erstellen. Ich hatte das aus deiner Angabe so verstanden, dass du eine eigene Klasse machen sollst dafür, das ist nämlich möglich, also von Exception abzuleiten. Wenn du nur einfaches Exceptionhandling verwenden möchtest reicht die Ausführung von Snape vollkommen.
Gruß
TOMalles Gute kommt von ...
Ähnliche Themen
-
Microsoft Exchange 2007 Step by Step
Von denisSCR im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 24.02.10, 11:25 -
"making of" eines 3d characters - step by step
Von pixel-panik im Forum Cinema 4DAntworten: 1Letzter Beitrag: 07.02.08, 11:15 -
Step-by-Step Tutorial: Achieve Rapid Application Development with Seam+Eclipse+Tomcat
Von Techieexchange im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 13.11.07, 22:43 -
Installation von Cocoon in Eclipse - Step by Step
Von downset04 im Forum JavaAntworten: 0Letzter Beitrag: 13.12.05, 21:09 -
Suche Step-by-step Tut
Von Oxygen im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 22.07.01, 13:13





Zitieren
Login




