La palabra clave throw en Scala se usa para lanzar explícitamente una excepción desde un método o cualquier bloque de código. En Scala, la palabra clave throw se usa para lanzar una excepción explícitamente y atraparla. También se puede utilizar para generar excepciones personalizadas. El manejo de excepciones en Java y Scala es muy similar. Excepto que Scala trata todos los tipos de excepciones solo como excepciones de tiempo de ejecución, por lo tanto, no nos obliga a manejarlas, sino que utiliza la coincidencia de patrones en el bloque catch. throw es una expresión que tiene un resultado de tipo nada en scala. Si el resultado no se evalúa realmente como algo, podemos usarlo en lugar de cualquier otra expresión.
Cosas importantes para recordar:
- Throw expression tiene un tipo de valor devuelto Nothing.
- Throw es la palabra clave que se usa para lanzar una excepción, mientras que throws es la palabra clave que se usa para declarar una excepción.
- El bloque Catch utiliza la coincidencia de patrones para manejar las excepciones.
Sintaxis:
throw exception object Example: throw new ArithmeticException("divide by 0")
Ejemplo:
val x = if (n % 10 == 0) 5 else lanza una nueva RuntimeException («n debe ser un múltiplo de 10»)
Explicación: si n es un múltiplo de 10, entonces se asigna 5 a x, pero si n no es un múltiplo de 10, se lanza una excepción antes de que x pueda inicializarse en algo. Por lo cual, podemos decir que throw tiene un valor de cualquier tipo. En Scala, lanzar una excepción es lo mismo que Java. creamos un objeto de excepción y luego lo lanzamos con la palabra clave throw:
Ejemplo:
Scala
// Scala program of throw keyword // Creating object object Main { // Define function def validate(article:Int)= { // Using throw keyword if(article < 20) throw new ArithmeticException("You are not eligible for internship") else println("You are eligible for internship") } // Main method def main(args: Array[String]) { validate(22) } }
Producción:
You are eligible for internship
En el código anterior, si tenemos un artículo inferior a 20, no obtendremos ningún resultado. Cuando ocurre un error, un método Scala puede lanzar una excepción en lugar de regresar normalmente. En el siguiente ejemplo, observamos una sola excepción que se lanza desde una función.
Scala
// Scala program of throw keyword // Creating object object GFG { // Main method def main(args: Array[String]) { try { func(); } catch { case ex: Exception => println("Exception caught in main: " + ex); } } // Defining function def func() { // Using throw exception throw new Exception("Exception thrown from func"); } }
Producción:
Exception caught in main: java.lang.Exception: Exception thrown from func
Publicación traducida automáticamente
Artículo escrito por shravani_v y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA