Excepciones en C#


Las excepciones son eventos inesperados que interrumpen la ejecución normal de un ensamblado o un proceso (programa).

Por ejemplo si un ensamblado esta leyendo un archivo de texto largo desde un disco removible y de pronto el usuario quita el dispositivo, el entorno de ejecución o el sistema operativo mandará una excepción. Las excepciones nunca deberán causar que un ensamblado falle por completo. En ese caso usted debe planear cuando las excepciones pueden ocurrir, atraparlas y responder a esos eventos.

Las excepciones derivan de la clase Exception del namespace System. Esta clase es la base de todas las excepciones. El entorno de ejecución del .NET Framework nos provee un modelo en el manejo de las excepciones que es basado en representar las excepciones como objetos y separando el código y el manejo de la excepción en bloques try y catch, respectivamente.Por último si no hubo ninguna excepción entrará en un bloque llamado finally, ideal para limpiar valores, o realizar algún método al final del proceso.

Dicho de otra manera colocaremos el código de nuestra aplicación, métodos, etc. dentro del bloque try, si ocurre algun tipo de excepción automáticamente entrará al bloque catch.

Tipos de Excepciones en C#

Existen dos categorías de excepciones bajo la clase Exception:

  • Las clases predefinidas del entorno de ejecución (Common Language Runtime) derivando de SystemException.
  • Y las definidas por el usuario en la aplicación derivando de la clase  ApplicationException.

Propiedades de una Excepción

Una excepción incluye un número de propiedades que ayudan a identificar la localización del código, el tipo, el archivo de ayuda y la razón de la excepción: StackTrace,InnerException,Message,HelpLink,HResult,Source,TargetSite,Data.

Mejores Prácticas:

Siguiendo el ejemplo anterior de los Streams en C#

http://mredison.wordpress.com/2009/04/06/streams-en-c/

Podemos definir bloques try, catch y finally:

try
{
 using (StreamReader lector = File.OpenText(DIR_ARCHIVO)){
  String linea;
  while ((linea = lector.ReadLine()) != null)
   {
    Console.WriteLine(linea);
   }
   lector.Close();
Console.WriteLine("------------------------");
                            
 }
}
 catch(Exception ex){Console.WriteLine("Error al leer el archivo: {0}",ex.Message);}
 finally{Console.ReadLine();}return;

Más acerca de las excepciones en MSDN:

URL: http://msdn.microsoft.com/en-us/library/system.exception.aspx

About these ads

2 Responses to Excepciones en C#

  1. Pingback: Resumen de Tipos de Datos en C# « Tecnologias Microsoft

  2. Ecko says:

    nice article, thanks,,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 128 other followers

%d bloggers like this: