Introducción a Throw Keyword en Java

Esta palabra clave Throw se usa de manera prominente en el concepto de Manejo de excepciones. Como el nombre ya sugiere, la palabra clave throw se trata de lanzar una excepción del programa al compilador. Informar sobre la excepción; Es un tipo de error que un compilador emerge del programa en caso de que ocurra alguna discrepancia durante el tiempo de ejecución del código. Entonces, al usar esta palabra clave throw, podemos definir nuestra excepción al interpretar cualquier causa de errores durante el tiempo de ejecución del programa.

Veamos más detalles a continuación:

Sintaxis

La sintaxis del lanzamiento en Java es la siguiente:

throw exception_type ;

o

throw instance;

Trabajando en Java

Aquí podemos verificar cómo se usa realmente la palabra clave y comprender cómo funciona realmente el flujo a través de un ejemplo.

import java.util.Scanner;
public class Main
(
public static void main(String() args) (
int c;
Scanner sc = new Scanner(System.in);
System.out.println("Enter value of A: ");
int a = sc.nextInt();
//Scanner b = new Scanner(System.in);
System.out.println("Enter value of B: ");
int b = sc.nextInt();
try (
c= a/b;
if(b==0)
(
throw new ArithmeticException();
)
System.out.println("Value of C is: " +c);
)
catch(ArithmeticException e) (
System.out.println("Caught this here");
)
finally (
)
System.out.println("Finally block is here");
)
)

Tratemos esto con un ejemplo clásico y simple de división por cero.

Analizando el siguiente código:

  • En primer lugar, importamos el módulo Scanner para tomar los valores de entrada del usuario.
  • Leemos dos números, a saber, 'A' y 'B', que se proporcionan como entrada para el usuario.
  • Declaramos una variable 'C' para almacenar el valor del cociente después de la división del número 'A' por 'B'.
  • Como los números pueden ser dados al azar por el usuario, podemos pensar en una situación en la que un usuario puede dar el divisor como cero.
  • Al aceptar ese escenario, escribimos nuestro código de división en un bloque de prueba.
  • Y escribiendo si una condición que en caso de que el valor 'B' tenga cero, entonces estamos lanzando una Excepción.
  • Intentar siempre sería seguido por un bloque de captura.
  • Entonces, aquí estamos mencionando la excepción que definimos usando un nuevo comando por palabra clave throw.
  • La misma excepción está atrapada y, simplemente imprimimos una declaración a continuación para comprender claramente cómo lograr el flujo del intento, lanzar, atrapar y finalmente.
  • Y finalmente, estamos declarando nuestro bloqueo final. Como ya se sabe, las declaraciones en este bloque definitivamente se ejecutarán.

Veamos el resultado a continuación.

Salida 1: si el valor de b no es un cero.

Podemos ver claramente que no hay bloques try, throw and catch ejecutados ya que el valor 'B' no es cero. Y finalmente, el bloque se ejecutó independientemente de la creación de la excepción.

Salida 2: si el valor b es cero.

La parte resaltada asegura que la excepción sea lanzada y atrapada por el bloque catch con éxito.

Entonces, veamos un ejemplo a continuación.

Ejemplo:

Veamos de qué manera podemos lanzar múltiples excepciones en un solo programa.

public class Main
(
public static void main(String() args) (
String sun() = ("chocolate", "honey", "sugar", "sweet", "bitter");
String h = null;
try (
for (int i=0; i<=7; i++)
(
if(i > sun.length)
(
throw new ArrayIndexOutOfBoundsException();
)
System.out.println(sun(i));
)
)
catch(ArrayIndexOutOfBoundsException ae)
(
System.out.println("Inside array index out of bounds exception catch block");
)
try(
sun(0)=h;
if (sun(0) == null)
(
throw new NullPointerException();
)
System.out.println("Value of sun(0) is: " +sun(0));
)
catch(NullPointerException f)
(
System.out.println("Caught Null point exception");
)
finally (
System.out.println("executing finally");
)
)
)

Arriba, hemos usado dos tipos diferentes de excepciones y hemos usado la palabra clave throw para interpretar el programa. El índice de matriz fuera del límite y la excepción de puntero nulo es lo que usamos aquí en un solo programa.

Salida:

Importancia del tiro

Esta palabra clave throw nos ayudaría a actuar como un puente entre los bloques try y catch. Ayudará a transferir el control del programa desde el bloque try al bloque catch.

Permíteme mostrarte un ejemplo de cómo funciona un programa con y sin el uso de la palabra clave throw.

public class Main
(
public static void main(String() args) (
try (
int a = Integer.parseInt ("Happy") ;
System.out.println("Will this get printed?");
) catch(NumberFormatException e) (
System.out.println("Number format exception of catch block");
)
System.out.println("Priting after catch block");
)
)

Hemos escrito código, sin la palabra clave throw. Pero usamos el código en el bloque try and catch, que de hecho manejará la excepción. Entonces, ¿conoces el resultado de lo anterior?

Esperado ¿verdad? Entonces, ejecutó el código, encontró una excepción y la excepción es capturada.

Ahora, ¿cómo funciona el código cuando insertamos nuestra instrucción throw? Veamos a continuación.

public class Main
(
public static void main(String() args) (
try (
int a = Integer.parseInt ("Happy") ;
throw new NumberFormatException();
System.out.println("Will this get printed?");
) catch(NumberFormatException e) (
System.out.println("Number format exception of catch block");
)
System.out.println("Priting after catch block");
)
)

Solo la parte resaltada es el cambio entre los dos códigos anteriores.

Salida:

Sí, tenemos un error de compilación ya que la declaración de impresión después de la palabra clave throw es una declaración inalcanzable. A través de este ejemplo, esperamos que haya entendido exactamente lo que significa "transferir el control de tratar de atrapar bloque".

Como ejercicio, intente eliminar la declaración de impresión después de lanzar la palabra clave, verifique cómo reacciona el programa.

Conclusión: lanzar palabras clave en Java

Entonces, así es como el comando de lanzamiento ha entrado en escena en el momento del manejo de excepciones. Y tenga en cuenta que hay una buena diferencia entre THROW y THROWS. Ambos se usan con el concepto de excepciones. Ya conocemos el concepto, cómo y dónde podemos usar la palabra clave "THROW". Simplemente practique e intente usarlo de diferentes maneras. Seguir aprendiendo.

Artículos recomendados

Esta es una guía para Throw Keyword en Java. Aquí discutimos la Introducción, Trabajar en Java y la importancia de Throw. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Palabra clave protegida en Java
  2. Para Loop en JavaScript
  3. Mientras Loop en Java
  4. Continuar declaración en Java
  5. Continuar el trabajo de la declaración en C # con ejemplos