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

3 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

Woher ich das weiß:Studium / Ausbildung – Informatik-Studium / Mathematik-Studium / ITK-Ausbildung

11thSense 
Fragesteller
 19.01.2016, 22:02

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
   }
}




11thSense 
Fragesteller
 19.01.2016, 19:10

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

0
PeterWolf42  19.01.2016, 19:51
@11thSense

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

0

"ich befasse mich zur zeit mit Exception Hnadling in JAVA"

Nur so am Rande, um die Dimension des Problemkontexts GAAAANZ KURZ anzureißen:

Syntaktisch wirst du das Exception Handling relativ schnell verstehen. Es aber angemessen anzuwenden wird dich Jahre an Erfahrung und Schmerzen in der JAVA Entwicklung kosten.