los Java lanza palabra clave se utiliza para declarar una excepción. Le da una información al programador de que puede ocurrir una excepción. Por lo tanto, es mejor que el programador proporcione el código de manejo de excepciones para que se pueda mantener el flujo normal del programa.
El manejo de excepciones se usa principalmente para manejar las excepciones marcadas. Si se produce alguna excepción no comprobada, como NullPointerException, es culpa de los programadores que no esté comprobando el código antes de utilizarlo.
Sintaxis de los lanzamientos de Java
¿Qué excepción debería declararse?
Respuesta: Sólo se marcó la excepción, porque:
- excepción sin marcar: bajo nuestro control para que podamos corregir nuestro código.
- error: fuera de nuestro control. Por ejemplo, no podemos hacer nada si se produce VirtualMachineError o StackOverflowError.
Ventaja de Java throws palabra clave
Now Checked Exception se puede propagar (reenviar en la pila de llamadas).
Proporciona información al llamador del método sobre la excepción.
Ejemplo de lanzamiento de Java
Veamos el ejemplo de la cláusula throws de Java que describe que las excepciones marcadas se pueden propagar mediante la palabra clave throws.
Testthrows1.java
Pruébelo ahora
Producción:
exception handled normal flow...
Regla: si llamamos a un método que declara una excepción, debemos capturar o declarar la excepción.
Hay dos casos:
- Caso 1: Hemos detectado la excepción, es decir, hemos manejado la excepción utilizando el bloque try / catch.
- Caso 2: Hemos declarado la excepción, es decir, la palabra clave throws especificada con el método.
Caso 1: Manejar la excepción usando el bloque try-catch
En caso de que manejemos la excepción, el código se ejecutará correctamente ya sea que ocurra una excepción durante el programa o no.
Testthrows2.java
Pruébelo ahora
Producción:
exception handled normal flow...
Caso 2: Declarar excepción
- En caso de que declaremos la excepción, si la excepción no ocurre, el código se ejecutará correctamente.
- En caso de que declaremos la excepción y se produzca la excepción, se lanzará en tiempo de ejecución porque lanza no maneja la excepción.
Veamos ejemplos para ambos escenarios.
A) Si no ocurre una excepción
Testthrows3.java
Pruébelo ahora
Producción:
device operation performed normal flow...
B) Si ocurre una excepción
Testthrows4.java
Pruébelo ahora
Producción:
Diferencia entre lanzar y lanzar
Haz clic en mí para obtener más detalles
Que) ¿Podemos volver a lanzar una excepción?
Sí, lanzando la misma excepción en el bloque catch.