Lazar Excepciones Personalizadas

31/03/2007 - 18:53 por Lazarte Federico | Informe spam
Estimados.

Tengo una jerarkia de clases, de la siguiente manera:

public class ExceptionDB:System.Exception
{
public ExceptionDB() {}
public ExceptionDB(string message) {}
public ExceptionDB(string message, Exception inner) {}
public ExceptionDB(SerializationInfo info, StreamingContext context)
{}


}//end ExceptionDB

y las voy lanzando con un case similar al siguiente:

stwith (exep)
case 1
throw(new ExceptionDB("No se pudo conectar a la BD"));
case 2
throw(new ExceptionDBDataNull("Los Datos Enviados no pueden
ser nulos"));

Ahora todo bien, lanzo la exepcion de mi programa y genera la que
corresponde segun el numero que le paso.La idea es devolver un objeto
tipo exepcion para que el usuario y le muestre el mensaje
personalizado (("No se pudo conectar a la BD"). Hasta ahora las
exepciones las catcheaba, pero, me mostraba un mensaje como este "A
ExceptionDB exeption was trown).
Alguien sabe como lanzar estas exepciones personalizadas?.
Desde ya muchas gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
31/03/2007 - 19:31 | Informe spam
"Lazarte Federico" wrote in message
news:
Estimados.

Tengo una jerarkia de clases, de la siguiente manera:

public class ExceptionDB:System.Exception
{
public ExceptionDB() {}
public ExceptionDB(string message) {}
public ExceptionDB(string message, Exception inner) {}
public ExceptionDB(SerializationInfo info, StreamingContext context)
{}


}//end ExceptionDB

y las voy lanzando con un case similar al siguiente:

stwith (exep)
case 1
throw(new ExceptionDB("No se pudo conectar a la BD"));
case 2
throw(new ExceptionDBDataNull("Los Datos Enviados no pueden
ser nulos"));

Ahora todo bien, lanzo la exepcion de mi programa y genera la que
corresponde segun el numero que le paso.La idea es devolver un objeto
tipo exepcion para que el usuario y le muestre el mensaje
personalizado (("No se pudo conectar a la BD"). Hasta ahora las
exepciones las catcheaba, pero, me mostraba un mensaje como este "A
ExceptionDB exeption was trown).
Alguien sabe como lanzar estas exepciones personalizadas?.



Si la clase ExceptionDB que has puesto arriba es auténtica, y no solo una
muestra del "esqueleto", entonces no estás guardando en ningún sitio los
mensajes cuando creas la excepción, ya que todos tus constructrores están
vacíos. La clase debería guardar los textos que recibe en el constructor,
que ahora mismo los estás despreciando y por lo tanto no hay forma de que
lleguen al "catch". Por ejemplo asi:

public class ExceptionDB:System.Exception
{
public ExceptionDB() {}
public ExceptionDB(string message) : base(message) {}
//...etc...
}//end ExceptionDB

Luego la lanzas con throw(new ExceptionDB("No se pudo conectar a la
BD"));

Y en el catch donde la interceptes muestras el .Message de la excepción
capturada, que traerá el texto que le has metido.
Respuesta Responder a este mensaje
#2 Diego Jancic
31/03/2007 - 22:13 | Informe spam
On Mar 31, 1:53 pm, "Lazarte Federico"
wrote:
Estimados.

Tengo una jerarkia de clases, de la siguiente manera:

public class ExceptionDB:System.Exception
{
public ExceptionDB() {}
public ExceptionDB(string message) {}
public ExceptionDB(string message, Exception inner) {}
public ExceptionDB(SerializationInfo info, StreamingContext context)
{}

}//end ExceptionDB

y las voy lanzando con un case similar al siguiente:

stwith (exep)
case 1
throw(new ExceptionDB("No se pudo conectar a la BD"));
case 2
throw(new ExceptionDBDataNull("Los Datos Enviados no pueden
ser nulos"));

Ahora todo bien, lanzo la exepcion de mi programa y genera la que
corresponde segun el numero que le paso.La idea es devolver un objeto
tipo exepcion para que el usuario y le muestre el mensaje
personalizado (("No se pudo conectar a la BD"). Hasta ahora las
exepciones las catcheaba, pero, me mostraba un mensaje como este "A
ExceptionDB exeption was trown).
Alguien sabe como lanzar estas exepciones personalizadas?.
Desde ya muchas gracias.



Hola,
Las estas lanzando bien, el problema lo tenes cuando la capturas para
mostrarle los datos al cliente.
Comenta si estas en web o windows y que estas usando (httpmodule,
evento Page_Error, eventos del global.asax, evento ThreadExeption,
etc..) ?

Saludos!
Respuesta Responder a este mensaje
#3 Lazarte Federico
03/04/2007 - 15:47 | Informe spam
On 31 mar, 17:13, "Diego Jancic" wrote:
On Mar 31, 1:53 pm, "Lazarte Federico"
wrote:





> Estimados.

> Tengo una jerarkia de clases, de la siguiente manera:

> public class ExceptionDB:System.Exception
> {
> public ExceptionDB() {}
> public ExceptionDB(string message) {}
> public ExceptionDB(string message, Exception inner) {}
> public ExceptionDB(SerializationInfo info, StreamingContext context)
> {}

> }//end ExceptionDB

> y las voy lanzando con un case similar al siguiente:

> stwith (exep)
> case 1
> throw(new ExceptionDB("No se pudo conectar a la BD"));
> case 2
> throw(new ExceptionDBDataNull("Los Datos Enviados no pueden
> ser nulos"));

> Ahora todo bien, lanzo la exepcion de mi programa y genera la que
> corresponde segun el numero que le paso.La idea es devolver un objeto
> tipo exepcion para que el usuario y le muestre el mensaje
> personalizado (("No se pudo conectar a la BD"). Hasta ahora las
> exepciones las catcheaba, pero, me mostraba un mensaje como este "A
> ExceptionDB exeption was trown).
> Alguien sabe como lanzar estas exepciones personalizadas?.
> Desde ya muchas gracias.

Hola,
Las estas lanzando bien, el problema lo tenes cuando la capturas para
mostrarle los datos al cliente.
Comenta si estas en web o windows y que estas usando (httpmodule,
evento Page_Error, eventos del global.asax, evento ThreadExeption,
etc..) ?

Saludos!- Ocultar texto de la cita -

- Mostrar texto de la cita -



Estimados.
Estoy en una aplicacion windows forms.
Respuesta Responder a este mensaje
#4 mmsmartin
19/05/2007 - 17:46 | Informe spam
On 31 mar, 11:53, "Lazarte Federico"
wrote:
Estimados.

Tengo una jerarkia de clases, de la siguiente manera:

public class ExceptionDB:System.Exception
{
public ExceptionDB() {}
public ExceptionDB(string message) {}
public ExceptionDB(string message, Exception inner) {}
public ExceptionDB(SerializationInfo info, StreamingContext context)
{}

}//end ExceptionDB

y las voy lanzando con un case similar al siguiente:

stwith (exep)
case 1
throw(new ExceptionDB("No se pudo conectar a la BD"));
case 2
throw(new ExceptionDBDataNull("Los Datos Enviados no pueden
ser nulos"));

Ahora todo bien, lanzo la exepcion de mi programa y genera la que
corresponde segun el numero que le paso.La idea es devolver un objeto
tipo exepcion para que el usuario y le muestre el mensaje
personalizado (("No se pudo conectar a la BD"). Hasta ahora las
exepciones las catcheaba, pero, me mostraba un mensaje como este "A
ExceptionDB exeption was trown).
Alguien sabe como lanzar estas exepciones personalizadas?.
Desde ya muchas gracias.



Hola:

Donde tengas la funcionalidad de despelgar el mensaje por el tipo de
exception en tu Catch.

Por ejemplo:

Catch(ExceptionDB ex)
{
MessageBox.Show(ex.Messge);
}

Bueno te deseo suerte

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