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ó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:
This entry was posted on Wednesday, April 8th, 2009 at 12:01 PM and is filed under ASP.NET. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Your comment