Unidad uno programacion

Solo disponible en BuenasTareas
  • Páginas : 31 (7568 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de octubre de 2010
Leer documento completo
Vista previa del texto
Unidad Nº 1: HERENCIA, POLIMORFISMO, ASERCIONES Y EXCEPCIONES

Conocimiento Nº 1: Excepciones

Definición

Los lenguajes orientados a objeto han buscado la forma de facilitar la programación de las situaciones de error en un programa.

Muchas cosas pueden generar excepciones (o errores): Errores de hardware (falla de disco), de programa (acceso fuera de rango en arreglo), apertura dearchivo inexistente, ingreso de depósito negativo, etc. En lugar de mezclar el código asociado a la lógica principal del programa con el de tratamiento de excepciones dificultando la claridad de la tarea principal del programa, los lenguajes orientados a objeto como Java disponen un mecanismo de excepciones que separa la parte fundamental del código (mayor porcentaje de los casos) de las situacionesde error.

Una excepción es un evento que ocurre durante la ejecución de un programa que rompe el flujo normal de ejecución. Cuando se habla de excepciones nos referimos a un evento excepcional.

Su gestión permite la detección y corrección de errores en ejecución:

• Simplifican los programas ya que se diferencia el código normal del código de tratamiento de errores
• Se creanprogramas mas robustos ya que en muchos casos si no se trata la excepción el programa no compila
• Sólo se deben usar cuando no se puede resolver la situación anómala directamente en ese contexto
• Se tiene que seguir haciendo el control de errores habitual.

Funcionalidad

Los lenguajes con gestión de excepciones incorporan en sus bibliotecas la capacidad de detectar y notificarerrores. La funcionalidad de las excepciones se explica en los siguientes pasos:

• Cuando se produce una excepción se interrumpe la ejecución del método en Java
• Este método crea un objeto que contiene información sobre la excepción y lo pasa al código llamador.
• La rutina receptora de la excepción es responsable de reaccionar a tal evento inesperado.
• Cuando creamos un objetopara la excepción y lo pasamos al código llamador decimos que lanzamos una excepción (Throw an exception).
• Si el método llamador no tiene un manejador de la excepción se busca hacia atrás en la pila de llamados anidados hasta encontrarlo.
• Decimos que el manejador atrapa la excepción (catch the exception).
• Si no hay ningún manejador capaz de gestionar la excepción, el hilo que lageneró es terminado.

Ejemplo: Si intentamos leer un fichero inexistente usando la clase FileReader del lenguaje Java, la implementación de la propia clase detectará el problema, y lanzará una excepción de tipo FileNotFoundException.

¿Por qué es importante usar excepciones?

1. El código de tratamiento del error está separado del resto del programa. Esto aumenta la legibilidad ypermite centrarse en cada tipo de código.

2. Un mismo manejador puede gestionar las excepciones de varios ámbitos inferiores. Esto reduce la cantidad de código necesaria para gestionar los errores.

3. Existe un mecanismo estándar de gestión de error. Lenguajes anteriores como C empleaban el retorno de valores especiales en cada método para señalar condiciones anómalas. Esto implicabaque a cada llamada debía seguirle un código de gestión de errores que enturbiaba la legibilidad del código.

Situaciones Excepcionales:

Existen dos situaciones excepcionales que pueden ser conducentes a un término anormal en la ejecución de un proceso:

1. Excepciones:

o Situaciones más o menos habituales que impiden completar la ejecución correcta del código
oGeneralmente el programador debe proporcionar el código que las trate o gestione
o Pueden ocurrir en alguna de las siguientes situaciones:
▪ Error en el código o en los datos
▪ Uso inadecuado de un método

Ejemplo: La excepción ArrayIndexOutOfBoundsException no debería lanzarse nunca si los índices de acceso a un arreglo no se salen de los límites....
tracking img