Diferencia entre excepción y error

Diferencia entre excepción y error
Diferencia entre excepción y error

Video: Diferencia entre excepción y error

Video: Diferencia entre excepción y error
Video: ¿Que es la NAT? Explicacion facil - Rapidin Tech 2024, Noviembre
Anonim

Excepción frente a error

Es probable que ocurra un comportamiento inesperado cuando se ejecuta un programa. Esto podría deberse a excepciones o errores. Las excepciones son los 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 se relacionan con el sistema en el que se ejecuta el programa.

¿Qué es una excepción?

La excepción es un evento que puede perturbar el flujo normal del programa. El nombre excepción proviene de "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 se produjo la excepción. El sistema de tiempo de ejecución tiene éxito si encuentra un método con un controlador de excepciones. El controlador de excepciones 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 (es decir, el tipo de excepción coincide con el tipo que se puede manejar), pasará el objeto de excepción al controlador. Esto se llama capturar la excepción. Sin embargo, si no se puede manejar la excepción, el programa terminará. En Java, las excepciones se heredan de la 'clase arrojable'. NullPointerException y ArrayIndexOutOfBoundsException son dos excepciones comunes en Java.

¿Qué es un error?

Un error es una condición que se puede considerar irrecuperable, como que el programa requiera una cantidad de memoria mayor que la disponible. Estos errores no se pueden manejar en tiempo de ejecución. Si ocurre un error, el programa terminará. En Java, los errores se heredan de la clase Throwable. Los errores generalmente representan problemas serios que el programador (o la aplicación) no deberían tratar de detectar. Los errores son simplemente condiciones anormales, que nunca se espera que ocurran en circunstancias normales y, por lo tanto, nunca se prevén. Por ejemplo, OutOfMemoryError, StackOverflowError y ThreadDead son tales errores. Los métodos nunca deben tener controladores de 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 marcar o desmarcar. Pero los errores siempre se desmarcan. Las excepciones suelen indicar un error causado por el programador. Sin embargo, los errores ocurren debido a un error del sistema o al uso inapropiado de un recurso. Por lo tanto, las excepciones deben manejarse a nivel de aplicación, mientras que los errores deben manejarse a nivel de sistema (solo si es posible). Después de manejar una excepción, tiene la garantía de volver al flujo normal del programa. Pero incluso si se detecta un error, es posible que el programador no sepa cómo manejarlo en primer lugar. A diferencia del manejo de errores tradicional, las excepciones permiten separar el código de manejo de errores del código normal.

Recomendado: