Bloques try/catch/finally en Scala

Los bloques try/catch/finally de Scala son similares a los de Java pero la sintaxis es un poco diferente, principalmente en el bloque catch debido a que es similar a una expresión match.

Las expresiones match son una característica de Scala. Al igual que las expresiones if, las expresiones match retornan un valor por lo que las puedes usar como el cuerpo de un método.

A continuación veamos un ejemplo de una expresión match.

Nota importante: Los ejemplos mostrados en este artículo fueron probados con Scala 3.

				
					def verdadero(a: Matchable): Boolean = a match
        case false | 0 | "" => false
        case _ => true
    
				
			

En este ejemplo, si la función verdadero recibe un valor false, el valor 0 o un string vacío esta retornará false, en cualquier otro caso retornará true.

Una vez que hemos visto como funcionan las expresiones match  estamos en condiciones de ver entonces cómo funcionan los bloques try/catch/finally en Scala.

Bloques try/catch/finally

La forma general de los bloques try/catch/finally es la siguiente:

				
					try
	// Aquí debe ir algún código que lance alguna excepción
catch
	case e1: Exception1Type => // Manejar esa excepción
	case e2: Exception2Type => // Manejar esa excepción
finally
	// Cierre sus recursos y haga cualquier otra cosa necesaria aquí
				
			
Similar a if y match, try es una expresión que retorna un valor, así que puedes escribir código, como por ejemplo, transformar un String a un Int como se muestra a continuación:
				
					def convertirEntero(s: String): Option[Int] =
	    try
		    Some(s.toInt)
	    catch
		    case e: NumberFormatException => None
				
			

Los siguientes ejemplos muestran cómo trabaja la función convertirEntero:

				
					convertirEntero("3") // Some(3): scala.Option[scala.Int]
convertirEntero("Jose") // None: scala.Option[scala.Int]
				
			

Con estos ejemplos sencillos hemos visto cómo funcionan los bloques try/catch/finally en Scala. Te invito a que le des un vistazo a mis cursos disponible en la plataforma de Udemy dando click en el siguiente enlace.

Cursos online

Entradas creadas 25

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Comienza escribiendo tu búsqueda y pulsa enter para buscar. Presiona ESC para cancelar.

Volver arriba