Manejo de ecepciones

Solo disponible en BuenasTareas
  • Páginas : 5 (1223 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de mayo de 2011
Leer documento completo
Vista previa del texto
Manejo de Excepciones
Concepto de excepción.
Bibliografía (http://www.devjoker.com/contenidos/Tutorial-C/168/Excepciones.aspx)
Las excepciones son el mecanismo recomendado en la plataforma .NET para propagar los que se produzcan durante la ejecución de las aplicaciones (divisiones por cero, lectura de archivos no disponibles, etc.) Básicamente, son objetos derivados de la claseSystem.Exception que se generan cuando en tiempo de ejecución se produce algún error y que contienen información sobre el mismo. Esto es una diferencia respecto a su implementación en el C++ tradicional que les proporciona una cierta homogeneidad,  consistencia y sencillez, pues en éste podían ser valores de cualquier tipo. 
Tradicionalmente, el sistema que en otros lenguajes y plataformas se ha venidousando para informar estos errores consistía simplemente en hacer que los métodos en cuya ejecución pudiesen producirse devolvieran códigos que informasen sobre si se han ejecutado correctamente o, en caso contrario, sobre cuál fue el error producido.
Tipos de excepciones
Bibliografia (http://www.mailxmail.com/curso-c-programacion/metodos-manejo-excepciones)
C# proporciona soporte integrado parael manejo de excepciones, las cuales pueden ocurrir en cualquier momento durante la ejecución del programa y son manejadas por el código que se encuentra fuera del flujo normal de control. Todo esto gracias a las palabras clave:
* try
* throw
* catch
* finally
C# proporciona una solución estructurada tanto a nivel del sistema como de aplicación. A pesar de que es muy similar a C++en cuanto al manejo de excepciones pero existen varias diferencias, entre ellas que cada excepción está representada por una instancia de un tipo de clase derivado de System.Exception. En realidad es algo bastante simple:
try
{
//haz esto...
//si i = 0 throw una excepción
}
catch{
//si falló haz esto...
}
finally
{
//haya fallado o no, haz esto...
}

Bloque try
En este bloque incluiremos el código en el que queremos comprobar los errores.
El código a usar será un código normal, es decir, no tenemos que hacer nada en especial, ya que en elmomento que se produzca el error se usará (si hay) el código del bloque catch.
Bloque catch
Si se produce una excepción, ésta la capturamos en un bloque catch.
En el bloque catch podemos indicar que tipo de excepción queremos capturar, para ello usaremos una variable de tipo Exception, la cual puede ser del tipo de error específico que queremos controlar o de un tipo genérico.
Bloque finallyEn este bloque podemos indicar las instrucciones que queremos que se ejecuten, se produzca o no una excepción. De esta forma nos aseguramos de que siempre se ejecutará un código, por ejemplo para liberar recursos, se haya producido un error o no.
Ejemplo:
using System;
public class ManejoExcepciones
{
public static void Main()
{
try //Le hacemos saber que puede ocurrir unerror
{
string s = null; //Declaramos un string y lo dejamos vacío
if (s == null) //Si el string esta vacio
throw (new ExcepcionCadenaVacia()); //Lanzamos un error personalizado
Console.WriteLine("Esto nunca se imprime"); //Si hay error el código sale de la ejecución normal
//es por eso que esta parte nunca seejecuta
}
catch (ExcepcionCadenaVacia e) //Atrapamos nuestro error
{
Console.WriteLine("La cadena esta vacia"); //Manejamos el error
}
finally
{
Console.WriteLine("Esto siempre se imprime"); //Esto siempre se ejecutará
}
}
}

Varias capturas de errores en un mismo bloque try/catch
Bibliografía...
tracking img