Diferencia clave: excepción marcada frente a no marcada en Java
Una excepción es un error en tiempo de ejecución. Hay dos tipos de excepciones conocidas como excepciones marcadas y no marcadas. Cuando ocurre una excepción marcada, la aplicación Java se conecta a un recurso externo como un archivo, dispositivo o base de datos. El compilador comprueba estas excepciones. Algunos ejemplos de excepciones comprobadas son la excepción IO y la excepción FileNotFound. Cuando ocurre una excepción no marcada, la aplicación no está conectada a ningún recurso externo. El compilador no comprueba estas excepciones. Algunos ejemplos de excepciones no comprobadas son Arithmetic Exception y ArrayOutOfBound Exception. Este artículo analiza la diferencia entre la excepción marcada y no marcada en Java. La diferencia clave entre la excepción marcada y no marcada en Java es que el compilador comprueba una excepción marcada, mientras que el compilador no comprueba una excepción no marcada.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es la excepción marcada en Java
3. Qué es la excepción no marcada en Java
4. Similitudes entre la excepción marcada y no marcada en Java
5. Comparación lado a lado - Excepción marcada vs no marcada en Java en forma tabular
6. Resumen
¿Qué es la excepción marcada en Java?
Cuando ocurre una excepción marcada, la aplicación Java se conecta a un recurso externo. Este recurso puede ser un dispositivo como una impresora. Puede ser un archivo o una base de datos. Por lo tanto, el compilador verifica esas excepciones. La excepción IO es una excepción marcada. Ocurre debido a un error en el dispositivo. Cuando la aplicación accede a un archivo que no existe, generará una excepción FileNotFound. Una aplicación se puede conectar a una base de datos como MySQL, Oracle, etc. para almacenar datos. Si ocurriera un error relacionado con una base de datos, sería una excepción SQL. Estos son algunos ejemplos de excepciones comprobadas. En todos estos, la aplicación está conectada a un recurso externo. En las excepciones marcadas, es obligatorio manejar la excepción. Si no se maneja, se terminará el flujo correcto del programa,y no se generará el archivo de clase. El error se puede manejar usando el bloque try, catch.
Figura 01: Manejo de excepciones marcadas
De acuerdo con lo anterior, FileReader lee datos del archivo. El archivo text1.txt no existe en la ubicación especificada. El código que puede dar la excepción se coloca dentro del bloque try. El mensaje a imprimir está dentro del bloque de captura. Como no hay ningún archivo llamado text1.txt, esto provoca una FileNotFoundException. Al utilizar el manejo de excepciones, el mensaje se imprime en la pantalla.
¿Qué son las excepciones sin marcar en Java?
El compilador no verifica las excepciones no marcadas. A diferencia de las excepciones marcadas, con las excepciones no marcadas, la aplicación Java no está conectada a un recurso externo como un archivo, una base de datos o un dispositivo. Algunas excepciones comunes no comprobadas son Aritmética, ArrayOutOfBound y NullPointer Exceptions.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
Esto provocará una excepción aritmética debido al salto de 'a' por cero. Consulte el siguiente código.
Figura 02: Manejo de excepciones aritméticas
Según el programa anterior, la variable a es un valor entero. La variable b es 0. La división de estos dos números es una división por cero. Por tanto, provocará una excepción aritmética. Puede manejarse usando el bloque try-catch. Las declaraciones que pueden causar la excepción se colocan dentro del bloque try. El mensaje que se mostrará está en el bloque de captura.
Consulte la siguiente parte del código.
int array1 = {1,2,3,4,5};
System.out.println (matriz1 [5]);
Esto provocará una excepción. La matriz1 es una matriz con 5 elementos. El índice inicial de la matriz es cero. Impresión de la 5 ª valor de índice provoca una excepción, ya que es fuera de límite. El índice máximo de la matriz1 es 4.
Figura 03: Manejo de excepciones ArrayOutOfBound
Según el programa anterior, la matriz1 tiene 5 elementos. La impresión del elemento con índice 6 provocará una excepción porque está fuera de límites. El índice máximo que se puede almacenar en array1 es 5. El mensaje de error se imprime al ejecutar el bloque catch.
¿Cuál es la similitud entre la excepción marcada y no marcada en Java?
Tanto la excepción marcada como la no marcada en Java son tipos de excepción en Java
¿Cuál es la diferencia entre la excepción marcada y no marcada en Java?
Diferencia del medio del artículo antes de la mesa
Excepción marcada vs no marcada en Java |
|
Una excepción marcada es un error de tiempo de ejecución que es verificado por el compilador. | Una excepción no verificada es un error de tiempo de ejecución que no es verificado por el compilador. |
Ocurrencia | |
Cuando ocurre una excepción marcada, la aplicación Java se conecta a un recurso externo como un archivo, dispositivo o una base de datos. | Cuando ocurre una excepción sin marcar, la aplicación Java no está conectada a un recurso externo. |
Ejemplos | |
IOException, FileNotFoundException, SQLException son algunos ejemplos de excepciones comprobadas. | La excepción aritmética, ArrayOutOfBoundException, NullPointerException son algunos ejemplos de excepciones no comprobadas. |
Resumen: excepción marcada vs no marcada en Java
Una excepción es un evento que interrumpe la ejecución del flujo del programa. Hay dos tipos de excepciones. Se denominan excepciones marcadas y excepciones no marcadas. Este artículo discutió la diferencia entre una excepción marcada y excepciones no marcadas. La diferencia entre la excepción marcada y no marcada en Java es que el compilador comprueba una excepción marcada mientras que el compilador no comprueba una excepción no marcada. Como las excepciones afectan el flujo correcto de ejecución del programa, es una buena práctica de programación manejarlas.