Mentre non esiste un modo incorporato per fare esattamente la cosa. Puoi fare qualcosa di simile per ottenere risultati simili. I commenti spiegano perché questa non è la stessa identica cosa.
Se l'esecuzione di somethingThatCouldError()
passa, verrà stampato YAY!!
. Se si verifica un errore, verrà stampato SAD
.
try {
somethingThatCouldError();
System.out.println("YAY!!");
// More general, code that needs to be executed in the case of success
} catch (Exception e) {
System.out.println("SAD");
// code for the failure case
}
Questo modo è un po 'meno esplicito di Python. Ma raggiunge lo stesso effetto.
In molti casi (ad esempio, piccoli metodi), si può rilanciare o tornare dal blocco 'catch', quindi è sufficiente inserire la logica' else' dopo aver tye 'try-catch 'del tutto. –
-1 Per duplicare la semantica del costrutto 'try-catch-else' di Python, dovresti * non * usare un blocco finally, poiché verrà eseguito anche se c'è un' return' o un'eccezione non rilevata nel 'try'. bloccare. Basta mettere il blocco 'if (successo)' dopo il 'try-catch'. – augurar
Grazie @augurar - Ho giocato in giro e riletto i documenti su altro e tu sei davvero corretto. –