JAVA Exception Handling (Try/Catch und Throw) - Gibt es davon Vor- und Nachteile?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vorteil: Programm stürzt nicht ab.

Nachteil: Mal angenommen du stürzt von einer Klippe und ein Netz fängt dich auf? Gibts dann einen Nachteil? Du lebst noch, genau wie dein Programm.

Also Fehlerhandling ist eine ganz gute Sache und es ist einfacher mit try-catch, als wenn du alles mit Polling machen musst.

Also z.b. lässt du ne Zahl einlesen, der benutzer gibt aber ein buchstabe ein, dann würde das Programm mit einer InputMismatchException abstürzen. Mit try-catch kannst du dad einfach auffangen und weitet machen, als ob nichts gewesen ist.
Mit Polling wärst du hier schon an deinen grenzen, da ein input mismatch nicht direkt mit if's und schleifen abgefragt werden können, dazu müsste es egal sein, was er eintippt, du prüfst dann extra obs ne zahl ist, anstatt es zu einer exception kommen zu lassen

Danke !

0

Wieso "beiden Fehlerbehandlungen"? Du brauchst alle drei Schlüsselworte.

throw/throws gibt an, dass ein Fehler geworfen wird und mit try{}catch{} fängt man ihn.

z.B.


public void wirf()throws Exception{
  if(//Fehler){
    throw new Exception();
  }
}

public void fang(){
  try{
     wirf();
  }
   catch(Exception e){
     //Tu was bei Fehler
   }
}



Danke Dir! :-) 
Nun gut, dann bezieht sich meine Frage eher auf das Try/Catch. Gibt es da Vor- und Nachteile?

0
@11thSense

Eigentlich nicht. Ist eine sehr verbreitete Lösung. Vor allem unterstützt sie das MVC-Paradigma, weshalb es so beliebt ist.

0

do while + try catch Abfrage in Java zur Eingabenkontrolle erzeugt unendlichen Loop

Also ich will in Java eine Methode schreiben die die Eingabe kontrolliert und dann bei korrekter Eingabe den eingegeben Wert zurückgibt. Mein Quellcode sieht so aus

public static int liesInt(String Ausgabe)
{       
    Scanner eingabe = new Scanner (System.in);
    int eingegeben = 0;
    System.out.println(Ausgabe);
    boolean error = true;
    
    do
    {
        try
        {
            eingegeben = eingabe.nextInt();
            error = false;
        }
        catch(InputMismatchException e)
        {
            System.out.println("Bitte geben Sie nur ganze Zahlen ein!");
            error = true;
        }   
    } while (error == true);
            
    return eingegeben;
}

mein problem ist dass er nach dem der catch greift und den error wert auf true gesetzt ist er nicht wieder zum try springt und nicht erneut nach einer eingabe fragt...

wo ist mein fehler eigentlich müsste er nach dem catch wieder oben anfangen beim try aber das passiert nicht

...zur Frage

Wie funktionieren exceptions in java?

wenn man es mit try und catch schreibt, hab ich gelernt dass man catch(Exception e) schreibt und danach e.printStackTrace ... Aber warum schreibt man nicht Exception e = new Exception(); ??? Und was macht die Methode printStackTrace in der Klasse Exception?

...zur Frage

Java - Primzahlen ermitteln

Soll zwischen 1 und 100 alle Primzahlen in Java ermitteln. Lasse ich das Programm laufen wird keine Zahl ausgegeben. Ich habe festgestellt, dass bei jeder Zahl primzahl == false ist. Zu beginn war der boolean primzahl true. Was habe ich falsch gemacht?

System.out.println ("Primzahlen:");

for (i=1 ;i<=100 ;i++ ) {
  if (i==1) {
    primzahl = false;
  } // end of if
    else {
    for (j=2 ;j<i ;j++ ) {
      if (i % j == 0) {
        primzahl = false;
      } // end of if
    } // end of for
  } // end of if-else
  if (primzahl == true) {
    System.out.println (i);
  } // end of if
} // end of for
...zur Frage

Wie kann ich in Java herausfinden, ob eine Zahl gerade oder ungerade ist?

...zur Frage

Eclipse Java: Kleinste Zahl ausgeben

Hi,

ich bin gerade son bissl am ausprobieren^^ :D

Ich habe mir überlegt, dass ich 10 Zufallszahlen zwischen 1 und 100 speichern will, diese dann auf auf dem Bildschirm ausgeben will, und dann soll er die kleinste Zahl von den 10 Zahlen auf dem Bildschirm ausgeben.

Hat einer vielleicht eine Idee, wie man das machen könnte bei ecllipse(java)?

Für hilfreiche Antworten wäre ich sehr sehr dankbar :)

Gruß Justin^^

...zur Frage

Java - Exception werfen?

Hallo,

muss man wenn man eine Exception wirft immer : throw new KeinBspEXECEPTION(); hinschreiben also mit diesem exception am ende oder geht aus throw new KeinBsp();

...zur Frage

Was möchtest Du wissen?