Como hacer manejador de Excepciones centralizado

26/09/2003 - 12:40 por Jose Manuel | Informe spam
Hola,
estoy estudiando Exception Handling y me gustaría saber como hacer un
manejador de Excepciones centralizado
que funcionarí así:

en vez del típico: Try CatchCatch...Catch

tener un sólo Catch que lleme a mi clase genérica manejadora de
excepciones:

try
{
//Código a ejecutar susceptible de provecar errores, como archivo no
encontrado, divisiones 1/0, etc
}
Catch ( Excepción e)
{
MimanejadorExcepciones manejador = new MimanejadorExcepciones (e);
string mensajeError;
mensajeError = manejador.mensaje;
}

o algo así, y que en la clase MimanejadorExcepciones estén centralizados
todos los casos de Catch.

Gracias.

Preguntas similare

Leer las respuestas

#1 Hernan Foffani
26/09/2003 - 14:11 | Informe spam
Hola, estoy estudiando Exception Handling y me gustaría
saber como hacer un manejador de Excepciones centralizado
que en vez del típico: Try CatchCatch...Catch
tener un sólo Catch que lleme a mi clase genérica
manejadora de excepciones:



todas las excepciones tienen como clase raiz a
System.Exception. un vez atrapada es un objeto
cualquiera al que puedes averiguar exactamente a
qué clase (excepcion) pertenece.

try {
throw new ApplicationException("hola");
} catch (Exception e) {
if (e is ApplicationException) {
Console.WriteLine("es appl. {0}",e.Message);
}
}

saludos,
-H.
Respuesta Responder a este mensaje
#2 Rodrigo Corral González
28/09/2003 - 19:40 | Informe spam
Microsoft a implementado eso por ti:

http://msdn.microsoft.com/library/d...mab-rm.asp

Un saludo
Rodrigo Corral González
Respuesta Responder a este mensaje
#3 Jose Manuel
29/09/2003 - 09:14 | Informe spam
Muhas Gracias Hernán,
tu respuesta me ha ayudado mucho, ahora el problema es como con ese único
Catch (Exception ex) acceder a
las propiedades y métodos específicos de excepciones de tipo SqlException
que tiene una colección de SqlErrors
y tiene propiedades y métodos más específicos que los que trae la clase
Exception. Por ejemplo, el Number, para
saber el número del error.

Es decir, con esta estructura:
try
{
...
}
Catch (Exception ex)
{
..
}

En el caso de que se de un SqlException ¿Cómo accedo a las propiedades y
métodos del mismo si sólo tengo un Objeto "ex"
de tipo Exception?
Respuesta Responder a este mensaje
#4 Octavio Hernández
29/09/2003 - 11:17 | Informe spam
En el caso de que se de un SqlException ¿Cómo accedo a las propiedades y
métodos del mismo si sólo tengo un Objeto "ex" de tipo Exception?


catch (Exception ex)

{

if (ex is SqlException)

{

SqlException ex2 = x as SqlException;

string errorMessages = "";

for (int i=0; i < ex2.Errors.Count; i++)

{

errorMessages += "Index #" + i + "" +

"Message: " + ex2.Errors[i].Message + "" +

"LineNumber: " + ex2.Errors[i].LineNumber + "" +

"Source: " + ex2.Errors[i].Source + "" +

"Procedure: " + ex2.Errors[i].Procedure + "";

}

}

else

{

// tratamiento de otros tipos de excepciones

}

}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida