En java, tanto los errores como las excepciones son subclases de la clase java.lang.Throwable. El error se refiere a una operación ilegal realizada por el usuario que resulta en el funcionamiento anormal del programa. Los errores de programación a menudo pasan desapercibidos hasta que el programa se compila o ejecuta. Algunos de los errores impiden que el programa se compile o ejecute. Por lo tanto, los errores deben eliminarse antes de compilar y ejecutar. Es de tres tipos:
- Tiempo de compilación
- tiempo de ejecución
- Lógico
Mientras que las excepciones en java se refieren a un evento no deseado o inesperado, que ocurre durante la ejecución de un programa, es decir, en tiempo de ejecución, que interrumpe el flujo normal de las instrucciones del programa.
Ahora analicemos varios tipos de errores para obtener una mejor comprensión de las arrays. Como se explica en el encabezado, un error indica problemas graves que una aplicación razonable no debería tratar de detectar. Los errores son condiciones que no se pueden recuperar mediante ninguna técnica de manipulación. Seguramente provoca la terminación del programa de forma anormal. Los errores pertenecen al tipo no verificado y ocurren principalmente en tiempo de ejecución. Algunos de los ejemplos de errores son errores de falta de memoria o errores de bloqueo del sistema.
Ejemplo 1 Error en tiempo de compilación
Java
// Java Program to Illustrate Error // Stack overflow error via infinite recursion // Class 1 class StackOverflow { // method of this class public static void test(int i) { // No correct as base condition leads to // non-stop recursion. if (i == 0) return; else { test(i++); } } } // Class 2 // Main class public class GFG { // Main driver method public static void main(String[] args) { // Testing for error by passing // custom integer as an argument StackOverflow.test(5); } }
Producción:
Ejemplo 2
Java
// Java Program to Illustrate Run-time Errors // Main class class GFG { // Main driver method public static void main(String args[]) { // Declaring and initializing numbers int a = 2, b = 8, c = 6; if (a > b && a > c) System.out.println(a + " is the largest Number"); else if (b > a && b > c) System.out.println(b + " is the smallest Number"); // The correct message should have been // System.out.println // (b+" is the largest Number"); to make logic else System.out.println(c + " is the largest Number"); } }
8 is the smallest Number
Ahora, detengámonos en Excepciones , que indican las condiciones que una aplicación razonable podría querer captar. Las excepciones son las condiciones que ocurren en tiempo de ejecución y pueden causar la finalización del programa. Pero son recuperables usando palabras clave de prueba, captura y lanzamiento. Las excepciones se dividen en dos categorías:
Excepciones comprobadas como IOException conocidas por el compilador en tiempo de compilación, mientras que excepciones no comprobadas como ArrayIndexOutOfBoundException conocidas por el compilador en tiempo de ejecución. Es causado principalmente por el programa escrito por el programador.
Excepción de ejemplo
Java
// Java program illustrating exception thrown // by Arithmetic Exception class // Main class class GFG { // main driver method public static void main(String[] args) { int a = 5, b = 0; // Try-catch block to check and handle exceptions try { // Attempting to divide by zero int c = a / b; } catch (ArithmeticException e) { // Displaying line number where exception occurred // using printStackTrace() method e.printStackTrace(); } } }
Producción:
Finalmente, ahora cierre el artículo trazando las diferencias entre ellos en un formato tabular como se proporciona a continuación de la siguiente manera:
errores | Excepciones |
---|---|
No es posible recuperarse de un error. | Podemos recuperarnos de las excepciones usando el bloque try-catch o devolviendo las excepciones a la persona que llama. |
Todos los errores en Java son de tipo desmarcado. | Las excepciones incluyen tanto el tipo marcado como el no marcado. |
Los errores son causados principalmente por el entorno en el que se ejecuta el programa. | El programa en sí es responsable de causar excepciones. |
Los errores pueden ocurrir tanto en tiempo de compilación como en tiempo de ejecución. Tiempo de compilación: por ejemplo, error de sintaxis Tiempo de ejecución: error lógico. |
Todas las excepciones ocurren en tiempo de ejecución, pero el compilador conoce las excepciones marcadas, mientras que las no marcadas no. |
Se definen en el paquete java.lang.Error. | Se definen en el paquete java.lang.Exception |
Ejemplos: java.lang.StackOverflowError, java.lang.OutOfMemoryError | Ejemplos: Excepciones comprobadas: SQLException, IOException Excepciones no comprobadas: ArrayIndexOutOfBoundException, NullPointerException, ArithmeticException. |
Publicación traducida automáticamente
Artículo escrito por AnushkaKhattri y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA