Tecnología

Inicio

¿Cuál es la diferencia entre lanzar una excepción y detectar una excepción?

En algunos lenguajes de programación, como C ++ y Java, una excepción - la abreviatura de "caso excepcional" - es un evento que interrumpe la ejecución normal de un programa. "Lanzar una excepción" se refiere a la creación de un objeto, conocido como un objeto de excepción, y se lleva un componente de software conocido como un sistema de tiempo de ejecución que está diseñado para apoyar la ejecución de programas de ordenador. "La captura de una excepción" se refiere a atravesar la excepción de un bloque de código, conocido como un controlador de excepciones, que intenta recuperarse del evento anómalo.

Las causas de Excepciones

En términos generales, los errores de programación, errores de código de cliente y excepciones insuficiencia de recursos hará que se tiran. Por lo general, poco se puede hacer acerca de los errores de programación, al menos no en términos de manejo de excepciones, pero si un programa intenta realizar alguna operación ilegal, en lo que se refiere a la interfaz de programación de aplicaciones un controlador de excepciones puede ser capaz de tomar las medidas de recuperación. Del mismo modo, si el sistema se queda sin memoria o una conexión de red falla durante la ejecución del programa, un controlador de excepciones puede volver a intentar la ejecución después de un tiempo o registrar el fallo y detener la ejecución.

excepción de objetos

Un método es un bloque de código que se puede llamar por su nombre en cualquier punto de un programa de ordenador. Cuando se produce un error dentro de un método, el código que provocó el error cesa de inmediato la ejecución, crea un objeto de excepción y se lo pasa al sistema de tiempo de ejecución. El objeto de excepción contiene el tipo de error causado y el estado del programa cuando se produjo el error.

Lanzar Excepciones

Las excepciones pueden ser definidos en una de las bibliotecas estándar del lenguaje de programación o definidos por el programador. En el primer caso excepciones son arrojados automáticamente por el sistema, mientras que en el último caso excepciones están programados de forma explícita el uso de una declaración de banda; la sintaxis de la instrucción throw es simplemente "excepción a objetos tiro;" Si no hay manera razonable para controlar un error existe en el punto en el programa en el que se produce el error, a menudo tiene sentido para un programa para lanzar deliberadamente un error en ese punto .

La captura de excepciones

Después se produce una excepción, el sistema de ejecución intenta encontrar un bloque de código capaz de manejar la excepción - en otras palabras, un manejador de excepción apropiado - en la pila de llamadas. La pila de llamadas es una lista de los métodos que el programa que se llama hasta el punto en que se produjo el error en el orden en que fueron llamados. Si el sistema de tiempo de ejecución encuentra un manejador de excepción apropiado, el control pasa a ese bloque de código. Si no es así, el sistema de tiempo de ejecución y el programa terminará. Si el sistema de ejecución hace encontrar un controlador de excepciones, se ejecuta el bloque de código para manejar la excepción y continúa ejecutando el resto del programa normalmente.