return in try-catch-Blöcken

Razen

Mitglied
Was genau macht das return in try-catch-blöcken?


Versteh ich das richtig oder beendet dass die Methode in der der try-catch-block drin ist wenns in nem catch steht? Ich versteh nicht ganz nach welchen regeln das spielt und habe n continue und break in so nem Block auch ne Bedeutung? Finde da keine gute Erklärung und das was ich hab reicht mir nicht...
 
G

Gast2

Gast
ein return beended immer die Funktion - in einem try-catchblock, einer Schleife oder sonst wo.

Java:
try{

    //do something
    return resultA;
} catch (MyExceptionB) {
    //do something
    return resultB;
} catch (MyExceptionC) {
    //do something
    return resultC;
}

Es gibt Stimmen die sagen es sollte pro Funktion nur ein return statement geben - ganz am ende. Allerdings in fast allen Projekten die ich gesehn habe werden mehrere returns benutzt.

return weist an die aktuelle Funktion zu verlassen und dem Aufrufer den return Wert/Objekt zu übergeben. (Außer bei void, das gibt es kein return wert).

break und continue haben damit nichts zu tun. break und continue werden in Schleifen verwendet.

break beended eine Schleife, z.B.
Java:
for (int i = 0; i < 100; i++{
    if(i = 50){
        break; 
    }
    System.out.prinln(i);
}

Die Schleife würde bei also bei i = 50 beended und nicht bis i = 100 laufen. continue is da anders - wenn du statt break in diesem Fall continue anwedest würde die Schleife bis 100 weiterlaufen - aber bei i = 50 nicht i ausprinten. Es wird nur der aktuelle Schleifendruchlauf beended.
 
Zuletzt bearbeitet von einem Moderator:

Landei

Top Contributor
Die Logik bei return und finally ist sehr diffizil. Zwei notorische Beispiele:

Java:
  public static int f() {
    try {
      return 1;
    } finally {
      return -1;
    }
  }

  public static int g() {
    for (; ; ) {
      try {
        return 1;
      } finally {
        break;
      }
    }
    return -1;
  }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
rosima26 Unterschiedliche Werte bei return/print Allgemeine Java-Themen 12
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
I Java Optionals mit return-Block Allgemeine Java-Themen 2
R missing return statement Allgemeine Java-Themen 13
V int Array einer return Methode übergeben? Allgemeine Java-Themen 4
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
B XAResource[] return statement Allgemeine Java-Themen 3
V Wildcard aus Parameter in return type Allgemeine Java-Themen 2
P Return oder Global Allgemeine Java-Themen 3
W Rekursion-Probleme mit return Allgemeine Java-Themen 35
Dragonfire Code Konvention for-Schleife / return Allgemeine Java-Themen 15
B boolean return typ verwenden? Allgemeine Java-Themen 5
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
H return bei Methode Allgemeine Java-Themen 2
chik 2 return werte für Greedy-Algorithmus (gelöst) Allgemeine Java-Themen 3
hdi dynamische return-Werte Allgemeine Java-Themen 15
M Problem mit return-werten Allgemeine Java-Themen 35
B Warum return type Object ? Allgemeine Java-Themen 4
D public boolean return Allgemeine Java-Themen 8
M return-Statement Allgemeine Java-Themen 5
S Wie Carriage Return Line Feed abfragen. Allgemeine Java-Themen 6
M java-doc: @return mehrzeilig gestalten Allgemeine Java-Themen 3
L return-Funktion Allgemeine Java-Themen 5
L return Funktion Allgemeine Java-Themen 6
G return bei generiertem code Allgemeine Java-Themen 6
S Fehler beim return eines String Arrays Allgemeine Java-Themen 3
Fredy Return by value mit String?? Allgemeine Java-Themen 6
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
M IndexOutOfBoundsException / Try-Catch Allgemeine Java-Themen 9
K Zweifacher Try-Catch Allgemeine Java-Themen 6
ralfb1105 LogManager logger schreibt nicht in Catch() Zweig Allgemeine Java-Themen 2
C try-catch Block Verständnisfrage Allgemeine Java-Themen 14
F Try/catch über ganze Klasse Allgemeine Java-Themen 9
C Unendlich Wiederholungsfehler bei try catch - Block Allgemeine Java-Themen 3
H try catch Allgemeine Java-Themen 4
V Designfrage: try-catch-throws Allgemeine Java-Themen 11
E Immer nur der Catch-Zweig Allgemeine Java-Themen 3
N String aus Try/Catch-Block übernehen Allgemeine Java-Themen 14
B Execption auf Oberfläche werfen, try-catch-Block Allgemeine Java-Themen 6
T class.newinstance + try/catch-konstruktor Allgemeine Java-Themen 6
I Exceptions - weder catch- noch finally-Klausel funktioniert Allgemeine Java-Themen 12
F try und catch Blöcke Allgemeine Java-Themen 3
Final_Striker Exceptionhandling: Richtige Verwendung des Try/Catch Blocks Allgemeine Java-Themen 14
M Try-Catch: wie wird Variable bei Exception initialisiert? Allgemeine Java-Themen 8
P Methodenaufruf von catch Allgemeine Java-Themen 2
S native methoden in try / catch ? Allgemeine Java-Themen 3
V Was tun mit "nötigen" Catch-Blöcken? Allgemeine Java-Themen 3
V Try-Catch und Code der folgt? Allgemeine Java-Themen 3
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
E try/catch Block um ganzes Programm Allgemeine Java-Themen 10
T rießiger try - catch - Block Allgemeine Java-Themen 13
M try-catch (Wie erzwing ich die catch-Anweisung)? Allgemeine Java-Themen 13
L Try ... Catch Allgemeine Java-Themen 3
E Verständnisfrage zu synchronized-Blöcken Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben