DE .NET, SQLSERVER Y MÁS, APRENDE CONMIGO!✔

Desarrollo de todo tipo de aplicaciones y Administración de Base de datos con Tecnología Microsoft


UNETE

Excepciones Generales en C#

0

 


Try-Catch-Finally

Las excepciones son un tipo de error que ocurre durante la ejecución de una aplicación. Los errores suelen ser problemas que no se esperan. Considerando que, se espera que ocurran excepciones dentro del código de la aplicación por varias razones.

Las aplicaciones usan lógica de manejo de excepciones para manejar explícitamente las excepciones cuando ocurren. Las excepciones pueden ocurrir por una amplia variedad de razones. Desde la infame NullReferenceException hasta un tiempo de espera de consulta de base de datos.

La anatomía de las excepciones de C#

Las excepciones permiten que una aplicación transfiera el control de una parte del código a otra. Cuando se lanza una excepción, el flujo actual del código se interrumpe y se devuelve a un bloque try catch principal. El manejo de excepciones de C# se realiza con las siguientes palabras clave: probar, atrapar, finalmente y lanzar

·         try : se utiliza un bloque de prueba para encapsular una región de código. Si algún código arroja una excepción dentro de ese bloque de prueba, la excepción será manejada por el catch correspondiente.

·         catch : cuando ocurre una excepción, se ejecuta el bloque de código Catch. Aquí es donde puede manejar la excepción, registrarla o ignorarla.

·         finally : el bloque finalmente le permite ejecutar cierto código si se lanza una excepción o no. Por ejemplo, deshacerse de un objeto que debe ser desechado.

·         throw : la palabra clave throw se usa para crear realmente una nueva excepción que se convierte en un bloque de prueba y captura final.

Excepciones comunes de .NET

El manejo adecuado de excepciones es fundamental para todo el código de la aplicación. Hay muchas excepciones estándar que se utilizan con frecuencia. La más común es la temida excepción de referencia nula. Estos son algunos de los tipos comunes de excepción de C# que verá regularmente.

La siguiente es una lista de excepciones comunes de .NET:

·         System.NullReferenceException: excepción muy común relacionada con llamar a un método en una referencia de objeto nulo

·         System.IndexOutOfRangeException: se produce al intentar acceder a un elemento de matriz que no existe

·         System.IO.IOException: se usa en muchas operaciones de tipo E/S de archivos

·         System.Net.WebException: comúnmente arrojado alrededor de cualquier error al realizar llamadas HTTP

·         System.Data.SqlClient.SqlException: varios tipos de excepciones de SQL Server

·         System.StackOverflowException: si un método se llama a sí mismo de forma recursiva, puede obtener esta excepción

·         System.OutOfMemoryException: si su aplicación se queda sin memoria

·         System.InvalidCastException: si intenta convertir un objeto en un tipo al que no se puede convertir

·         System.InvalidOperationException: excepción genérica común en muchas bibliotecas

·         System.ObjectDisposedException: intentar usar un objeto que ya se ha eliminado

DEMOSTRACIÓN

En un aplicativo de consola, vamos a crear una clase denominada División, en ella colocaremos el clasico ejemplo de división (vaya la redundancia) para  explicar las excepciones, como se muestra a continuación:


En el método Main() instanciamos la clase y le pasamos los parámetros al llamado del metodo dividir.

Como vemos en la imagen anterior, le pasamos como valores 25 y 0. Al ejecutar el paso a paso el código pasa por la excepción y luego por el bloque finally:




El resultado de la consola me muestra el mensaje de excepción


Cambiamos los valores a pasar en el metodo dividir:


Volvemos a ejecutar el debug, en este caso no captura ningún tipo de excepción pero luego de ello pasa por el código que esta en el bloque finally



El resultado en la consola


Ahora crearemos otro aplicativo de consola para ver la función de la clausula Throw





Tal vez te interesen estas entradas

No hay comentarios