Post

Visualizzazione dei post con l'etichetta try/catch

Return Try/Catch e Finally

DOMANDA: Ho due return, uno all'interno del blocco try e uno nel finally: package ritornofinally; public class Ritorno {     public static boolean ritorno(){       boolean valore;       try {           valore = true ;           return valore;        } catch (Exception e) {           e.printStackTrace();        } finally {           return false ;        }    } } Quale dei due valori viene restituito? RISPOSTA: Facciamo un breve ragionamento logico per arrivare alla risposta. Il finally viene eseguito poco prima del rilascio del controllo sul try/catch , quindi, nel nostro caso subito prima del return contenuto all'interno del try (il " return valore" viene quindi lasciato in sospeso in attesa di terminare il finally ). Durante l'esecuzione del finally incontro un return che mi restituisce il controllo al chiamante ancor prima di eseguire il return contenuto nel blocco try . Quindi la risposta è che verrà restituito il va