Certo che c'è: metterlo nella parte inferiore del blocco try
.
try{
// something
// i can do what i want here
}catch(Exception e){
// handle exception
}
Questo non è del tutto equivalente al codice originale, nel senso che se "ciò che vuoi" getta, l'eccezione sarà catturato localmente (questo non sarebbe accaduto con il vostro schema originale). Questo è qualcosa che potresti o non potrebbe interessarti, e c'è una buona possibilità che anche il diverso comportamento sia corretto.
Se si desidera portare il vecchio comportamento di nuovo, è anche possibile utilizzare questa variante che non richiede un finally
solo per il gusto di scrivere la condizione "se non si smentisce mai":
var checkpointReached = false;
try{
// something
checkpointReached = true;
// i can do what i want here
}catch(Exception e){
if (checkpointReached) throw; // don't handle exceptions after the checkpoint
// handle exception
}
Avete qualche "ritorno" nel blocco try? – Guillaume
Le risposte hanno 18 voti tra loro e la domanda 1 voto? –
@Guillaume non restituisce – lowerkey