Excepción marcada y no verificada

Anonim

El manejo de excepciones en Java es uno de los mecanismos poderosos para manejar errores específicos que surgen en una secuencia de código en tiempo de ejecución. Una excepción no es más que un error de tiempo de ejecución que interrumpe el flujo normal de la aplicación.

Normalmente ocurre en un fragmento de código y, cuando lo hace, se crea un objeto que representa esa excepción y arrojado En el método que lo causó. Como resultado, el programa o la aplicación se interrumpe, lo que provoca que la aplicación finalice de forma anormal, lo que no se recomienda. Esta es la razón por la que estas excepciones deben ser manejadas y es aquí donde el mecanismo de manejo de excepciones llega a la imagen.

Existen dos tipos de excepciones que existen en Java: Excepción marcada y No marcada. En este artículo, analizaremos en detalle qué es una excepción marcada y no verificada y cuándo usarlas, y por último, veremos la diferencia entre las dos.

¿Qué es la excepción marcada en Java?

Estas son las excepciones que se verifican y manejan en tiempo de compilación. Java define varias clases de excepción dentro del paquete estándar java.lang, y las excepciones más comunes son las subclases del tipo estándar Excepción en tiempo de ejecución.

Las excepciones que se producen en áreas fuera del control inmediato del programa se conocen como excepciones comprobadas. Si un metodo arroja una excepción marcada en el momento de la compilación que no puede manejarla por sí misma, entonces debe manejar la excepción en una captura {} bloquear o declarar la excepción usando el arroja palabra clave, de lo contrario dará un error de compilación. El compilador examina el tipo de objeto de excepción para cada lanzar y si se muestra marcada, el compilador verifica el código fuente para asegurarse de que la excepción se maneja en el método donde se lanza o se declara para que pueda manejarse más.

Todas las excepciones descritas por Excepción cuales son sus subclases directas excepto para Excepción en tiempo de ejecución Se llaman excepciones comprobadas. ¿Ahora cuándo usar la excepción marcada? Puede elegir usar una excepción marcada cuando sepa exactamente qué hacer cuando un Excepción Ocurre o cuando las posibilidades de fracaso son mayores. Algunos ejemplos de excepciones comprobadas en la biblioteca de Java incluyen IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, etc.

¿Qué es la excepción no comprobada en Java?

Estas son las excepciones que no se verifican en el momento de la compilación. La excepción sin marcar representa una condición que generalmente refleja errores en la lógica de un programa y que no se puede recuperar en tiempo de ejecución.

En términos simples, la excepción no verificada es una excepción que no se detecta en una trata de atraparlo bloquear. No necesitan ser atrapados explícitamente. De hecho, cuando se produce una excepción sin marcar, Java maneja la excepción automáticamente. Las excepciones no verificadas se producen principalmente debido a errores de programación, como cuando se accede a un elemento fuera de un enlace de matriz o al método de acceso de un objeto nulo. En Java, todas las excepciones bajo lanzable son excepciones comprobadas, mientras que las excepciones que son subclases directas de Error y Excepción en tiempo de ejecución Son excepciones sin marcar.

La mejor parte de una excepción no verificada es que no reduce la legibilidad del código mientras mantiene limpio el código del cliente. Algunos ejemplos de excepciones no verificadas incluyen ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, etc.

Diferencia entre excepción marcada y no verificada

Definición de excepción marcada y no verificada

Excepción marcada y no verificada son los dos tipos de excepciones existentes en Java para garantizar el flujo normal de la aplicación. Ambos tienen el mismo propósito de manejar las excepciones en Java y, aunque no existe ninguna diferencia en la funcionalidad, no hay una sola regla para determinar cuándo usar la verificación y cuándo usar la excepción sin marcar. La excepción comprobada es una excepción que se comprueba en el momento de la compilación, mientras que la excepción no comprobada es la que no se comprueba en el momento de la compilación.

Fundamentos de la excepción marcada y no verificada

Una excepción marcada se refiere a los escenarios no válidos que ocurren fuera del control inmediato del programa, mientras que una excepción no comprobada se refiere a los errores en el programa o errores en la lógica del programa que no se pueden recuperar en el tiempo de ejecución.

Manejo de excepciones

Si un método lanza una excepción marcada, el compilador verificará si el método está manejando esa excepción usando el bloque try-catch o especificará la excepción usando la palabra clave throws. Si el método no proporciona el código de manejo, mostrará un error de compilación. Por el contrario, el programa compila muy bien porque el compilador no comprueba las Excepciones no verificadas en el momento de la compilación.

Causa de la excepción marcada y no verificada

Las excepciones que no se derivan de RunTimeException a menudo se manejan, mientras que las excepciones que ocurren en tiempo de ejecución rara vez se manejan. Una excepción marcada ocurre cuando las posibilidades de falla son muy altas. Por otro lado, la Excepción no verificada se produce principalmente debido a errores de programación. Todas las excepciones en las clases RuntimeException y Error son excepciones no comprobadas, mientras que todo lo demás en virtud de tirar son excepciones comprobadas.

Ejemplos de excepción marcada y no verificada

Algunos ejemplos de excepciones comprobadas son IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException y más. Los ejemplos de excepciones no verificadas incluyen NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, etc.

Excepción verificada vs. no verificada: Cuadro comparativo

Resumen de la excepción marcada y no verificada

Excepción marcada y no verificada son los dos tipos de excepciones que existen en Java. Si bien la funcionalidad es la misma para ambas excepciones, tienen su parte justa de diferencias. La principal diferencia entre las excepciones marcadas y no verificadas es que el compilador verifica la primera, mientras que la segunda escapa al aviso del compilador. Las excepciones que se verifican y manejan en tiempo de compilación son excepciones verificadas, mientras que las excepciones que no se controlan y manejan en tiempo de compilación son excepciones no verificadas. Este artículo explica qué está marcado y qué es una excepción sin marcar, cuándo usarlos, y explica la diferencia entre los dos.