Está en la página 1de 3

UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL

FACULTAD DE CIENCIAS DE LA INGENIERÍA


INGENIERÍA MECATRONICA
ALUMNO: STEVEN NAVAS TAFUR

MATERIA: PROGRAMACION II
FECHA: 29 DE MAYO DEL 2018
CURSO: 4 A
TEMA: LAS EXCEPCIONES EN C#

Introduccion

En C#, los errores del programa en tiempo de ejecución se propagan a través del programa mediante un
mecanismo denominado excepciones. Las excepciones las inicia el código que encuentra un error y las
detecta el código que puede corregir dicho error. Las excepciones puede iniciarlas .NET Framework
Common Language Runtime o el código de un programa. Una vez iniciada, una excepción se propaga
hasta la pila de llamadas hasta que encuentra una instrucción catch para la excepción. Las excepciones
no detectadas se controlan mediante un controlador de excepciones que ofrece el sistema y muestra un
cuadro de diálogo.

Marco Teorico

Las excepciones están representadas por clases derivadas de Exception. Esta clase identifica el tipo de
excepción y contiene propiedades que tienen los detalles sobre la excepción. Iniciar una excepción
implica crear una instancia de una clase derivada de excepción, configurar opcionalmente las
propiedades de la excepción y luego producir el objeto con la palabra clave throw.

Las características de control de excepciones del lenguaje C# proporcionan una manera de afrontar
cualquier situación inesperada o excepcional que se presente mientras se ejecuta un programa.

El control de excepciones utiliza las palabras clave try, catch y finally para intentar realizar acciones que
podrían plantear problemas, controlar errores cuando considere que sea razonable y limpiar los
recursos después.

Pueden generar excepciones Common Language Runtime (CLR), .NET Framework, las bibliotecas de
otros fabricantes o el código de aplicación. Las excepciones se crean mediante la palabra clave throw.

En muchos casos, puede que una excepción no la produzca un método que el código ha llamado
directamente, sino otro método que aparece más adelante en la pila de llamadas.

Cuando esto sucede, CLR desenredará la pila a fin de buscar un método con un bloque catch para el tipo
de excepción específico y ejecutará el primer bloque catch de este tipo que encuentre. Si no encuentra
ningún bloque catch adecuado en la pila de llamadas, finalizará el proceso y mostrará un mensaje al
usuario.

En este ejemplo, el método hace una prueba para realizar una división por cero y detecta el error. Sin el
control de excepciones, este programa finalizaría con un error DivideByZeroException no controlado.
Ejemplo

Figura 1. Ejemplo de excepción

Interpretacion figura 1

Cuando se inicia una excepción, el entorno runtime comprueba la instrucción actual para ver si se
encuentra dentro de un bloque try. Si es así, se comprueban los bloques catch asociados al bloque try
para ver si pueden detectar la excepción. Los bloques Catch suelen especificar tipos de excepción; si el
tipo del bloque catch es el mismo de la excepción, o una clase base de la excepción, el bloque catch
puede controlar el método. Por ejemplo:

Figura 2 . Aplicación de try


Interpretacion figura 2

Si la instrucción que inicia una excepción no está en un bloque try o si el bloque try que la encierra no
tiene un bloque catch coincidente, el entorno runtime busca una instrucción try y bloques catch en el
método de llamada. El entorno runtime sigue hasta la pila de llamadas para buscar un bloque catch
compatible. Después de encontrar el bloque catch y ejecutarlo, el control pasa a la siguiente instrucción
después de dicho bloque catch.

Bibliografia

Docs.microsoft.com. (2018). Usar excepciones (Guía de programación de C#). [online] Available at:
https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/exceptions/using-exceptions
[Accessed 28 May 2018].

Msdn.microsoft.com. (2018). Excepciones y control de excepciones (Guía de programación de C#).


[online] Available at: https://msdn.microsoft.com/es-es/library/ms173160(v=vs.120).aspx [Accessed 28
May 2018].

También podría gustarte