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:
Propiedades de una ExcepciónUna 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
Tags: c#