Error de excepción vs
El comportamiento inesperado se producirá cuando se ejecuta un programa. Esto podría deberse a excepciones o errores. Las excepciones son eventos, que pueden perturbar el flujo normal del programa. Los errores son condiciones que pueden considerarse irrecuperables. Las excepciones se relacionan principalmente con la aplicación en sí, mientras que los errores están relacionados con el sistema en el que el programa se ejecuta.
¿Qué es una excepción??
La excepción es un evento, que puede perturbar el flujo de programa normal. La excepción del nombre proviene del "evento excepcional". Lanzar una excepción es el proceso de crear un objeto de excepción y entregarlo al sistema de tiempo de ejecución. El objeto de excepción es creado por el método en el que ocurrió la excepción. El objeto de excepción contiene información útil como el tipo y la descripción de la excepción. Cuando el sistema de tiempo de ejecución recibe el objeto de excepción, intentará encontrar a alguien que lo maneje dentro de la pila de llamadas atravesándolo en el orden inverso (en el que se llamaron los métodos). La pila de llamadas es la lista ordenada de métodos, que se llamaron antes del método en el que ocurrió la excepción. El sistema de tiempo de ejecución es exitoso si encuentra un método con un controlador de excepción. El controlador de excepción es un bloque de código que puede manejar oficialmente dicha excepción. Si el sistema de tiempo de ejecución encuentra un controlador apropiado (i.mi. El tipo de excepción coincide con el tipo que se puede manejar), pasará el objeto de excepción al controlador. Esto se llama atrapar la excepción. Sin embargo, si no se puede manejar la excepción, el programa terminará. En Java, las excepciones heredan de 'clase lanzable.'NullPointerException y ArrayIndexoUtofboundSexception son dos excepciones comunes en Java.
¿Qué es un error??
Un error es una condición que puede considerarse irrecuperable, como el programa que requiere una cantidad de memoria mayor de lo que está disponible. Estos errores no se pueden manejar en tiempo de ejecución. Si se produce un error, el programa terminará. En Java, los errores heredan de la clase lanzable. Los errores generalmente representan problemas serios que el programador (o la aplicación) no debe intentar atrapar. Los errores son simplemente condiciones anormales, que nunca se espera que ocurran en circunstancias normales y, por lo tanto, nunca previstas. Por ejemplo, OutOfMemoryError, StackOverflowerror y ThreadDead son tales errores. Los métodos nunca deben tener manejadores para errores.
¿Cuál es la diferencia entre excepción y error??
Tanto los errores como las excepciones son ocurrencias no deseadas durante la ejecución de un programa. Sin embargo, tienen diferencias clave. El programador puede prever excepciones, mientras que un error es difícil de prever. Las excepciones se pueden verificar o desmarcar. Pero los errores siempre están desmarcados. Las excepciones generalmente indican un error causado por el programador. Sin embargo, los errores ocurren debido a un error del sistema o un uso inapropiado de un recurso. Por lo tanto, las excepciones deben manejarse a nivel de aplicación, mientras que los errores deben atender a nivel del sistema (solo si es posible). Después de manejar una excepción, se le garantiza que regrese al flujo normal del programa. Pero incluso si se capta un error, el programador puede no saber cómo manejarlo en primer lugar. A diferencia del manejo tradicional de errores, las excepciones permiten separar el código de manejo de errores del código normal.