Si bien no hay una forma incorporada para hacer eso exactamente. Puede hacer algo similar para lograr resultados similares. Los comentarios explican por qué esto no es exactamente lo mismo.
Si se ejecuta la ejecución del somethingThatCouldError()
, se imprimirá YAY!!
. Si hay un error, se imprimirá 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
}
De esta manera es un poco menos explícito que Python. Pero logra el mismo efecto.
En muchos casos (por ejemplo, métodos pequeños), puede volver a lanzar o regresar desde el bloque 'catch', por lo que puede simplemente poner la lógica' else' después de tye 'try-catch'. –
-1 Para duplicar la semántica de la construcción de Python 'try-catch-else', debe * no * usar un bloque finally, ya que esto se ejecutará incluso si hay una excepción de 'retorno' o no detectada en el' try' bloquear. Simplemente coloque el bloque 'if (success)' después del 'try-catch'. – augurar
Gracias @augurar - Jugué y volví a leer los documentos en otra cosa y estás en lo cierto. –