clase 5

18
Programación M.C. Jaime Lara Alvarez

Upload: jaime-lara

Post on 26-Jul-2015

451 views

Category:

Education


1 download

TRANSCRIPT

Programación

M.C. Jaime Lara Alvarez

Clase 5

Manejo de excepciones

Contenido

• Definiciones:– Excepción– Manejo de Excepciones

• Casos de excepciones• Manejo de Excepciones en C#• Uso de Try – catch - finally en C#– Ejemplo

• Referencias

Excepción

• Una excepción es la indicación de un problema que ocurre durante la ejecución de un programa.

• Ocurre con poca frecuencia.

Manejo de Excepciones

• El manejo de excepciones permite a los programadores crear aplicaciones tolerantes a fallas y robustos (resistentes a errores) para controlar estas excepciones y que pueda seguir ejecutando el programa sin verse afectado por el problema.

Casos de Excepciones

• Desbordamiento aritmético– Fallo informático que se da cuando el código

almacenado en un registro supera su valor máximo.• División entre cero (DivideByZeroException)• FormatException

Manejo de Excepciones en C#

• C# incorpora mecanismos para el tratamiento de las situaciones anómalas, denominadas excepciones, que pueden producirse durante la ejecución de un programa.

Controlar una excepción mediante Try-catch

• El propósito de un bloque try-catch es detectar y controlar una excepción generada por código en funcionamiento.

Ejemplo

• Aplicación para calcular la división entre dos números.

Bloque Try

Format Exception & Divide By Zero Exception

Resultados

Resultados

Resultados

¿Qué pasaría si no se manejaran excepciones?

Fuga de Recursos

• Los programas solicitan y liberan recursos en forma dinámica (en tiempo de ejecución).

• Por ejemplo, para abrir un archivo se debe solicitar el acceso a dicho archivo. Los sistemas operativos evitan que más de un programa manipule un archivo al mismo tiempo. Debido a esto cuando un programa termina de usar un recurso debe de liberarlo para que otros programas puedan accederlo. Si esto no sucede ocurre una fuga de recursos.

El Bloque finally

• Un bloque finally se utiliza principalmente para liberar los recursos solicitados en el bloque try.

• Es un mecanismo efectivo para eliminar fugas de recursos.• El bloque finally se ejecuta sin importar que el bloque try

se ejecute con éxito u ocurra una excepción.• No se puede acceder a las variables locales de un bloque

try en el bloque finally.• Nota: Los recursos deben liberarse tan pronto como ya no

sean necesarios en un programa.

Referencias

• Capitulo 12: Manejo de Excepciones [paginas 385 – 409]Deitel, Harvey M. y Paul J. DeitelCómo programar en C#. Segunda Edición.Pearson Educación, México 2007.

• Manejo de excepcioneshttp://es.wikipedia.org/wiki/Manejo_de_excepciones

• Desbordamiento aritméticohttp://es.wikipedia.org/wiki/Desbordamiento_aritmético

• Instrucciones para el control de excepcioneshttp://msdn.microsoft.com/es-es/library/s7fekhdy%28v=VS.80%29.aspx

• Cómo: Controlar una excepción mediante Try y Catch (Guía de programación de C#)http://msdn.microsoft.com/es-es/library/ms173165%28v=vs.80%29.aspx