Manejar mis propias exepciones

08/01/2007 - 22:18 por Fuy | Informe spam
Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
Para manejar mis exepciones en Java lo que hacia era crear una clase
que hereda de Expection y asi crea mis propias exepciones. En C# se
puede hacer eso?, crear mis propias clases para menajar mis exepociones
? ya que en el programa que ando haciendo me salen exepciones que son
las que maneja C# y no se ve nada agradable para el usuario, ya que
sacalen muchas y el usuario no entiende, por lo que quiero crear una
exepción con un nombre agradable para él por si le llega a salir eso.

ok

ATTE
Fuy

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
08/01/2007 - 23:15 | Informe spam
Hola,

Se recomienda hacer exactamente lo mismo que en Java: crearte tu propia
clase (o jerarquía) de excepciones.
Por ejemplo, si tu librería de clases se llama Abc, puedes hacer

public class AbcException: Exception
{
public AbcException(string msg): base(msg)
{
}
public AbcException(string msg, Exception inner): base(msg, inner)
{
}
}

En el código en el que se pueden producir excepciones hacer:

try
{
}
catch (Exception x)
{
throw new ExpressionsException("Excepción imprevista en Abc", x);
}

Y cuando quieres lanzar tu propia excepción:

throw new AbcException("Mensaje personalizado");

Slds - Octavio


"Fuy" escribió en el mensaje
news:
Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
Para manejar mis exepciones en Java lo que hacia era crear una clase
que hereda de Expection y asi crea mis propias exepciones. En C# se
puede hacer eso?, crear mis propias clases para menajar mis exepociones
? ya que en el programa que ando haciendo me salen exepciones que son
las que maneja C# y no se ve nada agradable para el usuario, ya que
sacalen muchas y el usuario no entiende, por lo que quiero crear una
exepción con un nombre agradable para él por si le llega a salir eso.

ok

ATTE
Fuy
Respuesta Responder a este mensaje
#2 Ricardo Franco
08/01/2007 - 23:54 | Informe spam
El comentario de Octavio me parece muy acertado, solo agregaría que para tu
aplicación es recomendable heredar de ApplicationException en vez de
Exception.

En esta liga podrás ver la recomendación que menciono.
http://msdn2.microsoft.com/es-es/li...nexception(VS.80).aspx

"Octavio Hernandez" wrote:

Hola,

Se recomienda hacer exactamente lo mismo que en Java: crearte tu propia
clase (o jerarquía) de excepciones.
Por ejemplo, si tu librería de clases se llama Abc, puedes hacer

public class AbcException: Exception
{
public AbcException(string msg): base(msg)
{
}
public AbcException(string msg, Exception inner): base(msg, inner)
{
}
}

En el código en el que se pueden producir excepciones hacer:

try
{
}
catch (Exception x)
{
throw new ExpressionsException("Excepción imprevista en Abc", x);
}

Y cuando quieres lanzar tu propia excepción:

throw new AbcException("Mensaje personalizado");

Slds - Octavio


"Fuy" escribió en el mensaje
news:
Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
Para manejar mis exepciones en Java lo que hacia era crear una clase
que hereda de Expection y asi crea mis propias exepciones. En C# se
puede hacer eso?, crear mis propias clases para menajar mis exepociones
? ya que en el programa que ando haciendo me salen exepciones que son
las que maneja C# y no se ve nada agradable para el usuario, ya que
sacalen muchas y el usuario no entiende, por lo que quiero crear una
exepción con un nombre agradable para él por si le llega a salir eso.

ok

ATTE
Fuy



Respuesta Responder a este mensaje
#3 Fuy
09/01/2007 - 07:22 | Informe spam
Gracias, básicamente era lo mismo que en Java.

Recuerdo haber leido un artículo, lo publicaron en una lista de C# de
google, donde hablaba de las exepciones y de por que el creador las
había puesto de una cierta forma que cambiaba un poco a comparación
de Java, pero bueno creo que no puse mucha atención en ese entonces.

ok

ATTE
Fuy


Ricardo Franco ha escrito:

El comentario de Octavio me parece muy acertado, solo agregaría que para tu
aplicación es recomendable heredar de ApplicationException en vez de
Exception.

En esta liga podrás ver la recomendación que menciono.
http://msdn2.microsoft.com/es-es/li...nexception(VS.80).aspx

"Octavio Hernandez" wrote:

> Hola,
>
> Se recomienda hacer exactamente lo mismo que en Java: crearte tu propia
> clase (o jerarquía) de excepciones.
> Por ejemplo, si tu librería de clases se llama Abc, puedes hacer
>
> public class AbcException: Exception
> {
> public AbcException(string msg): base(msg)
> {
> }
> public AbcException(string msg, Exception inner): base(msg, inner)
> {
> }
> }
>
> En el código en el que se pueden producir excepciones hacer:
>
> try
> {
> }
> catch (Exception x)
> {
> throw new ExpressionsException("Excepción imprevista en Abc", x);
> }
>
> Y cuando quieres lanzar tu propia excepción:
>
> throw new AbcException("Mensaje personalizado");
>
> Slds - Octavio
>
>
> "Fuy" escribió en el mensaje
> news:
> Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
> Para manejar mis exepciones en Java lo que hacia era crear una clase
> que hereda de Expection y asi crea mis propias exepciones. En C# se
> puede hacer eso?, crear mis propias clases para menajar mis exepociones
> ? ya que en el programa que ando haciendo me salen exepciones que son
> las que maneja C# y no se ve nada agradable para el usuario, ya que
> sacalen muchas y el usuario no entiende, por lo que quiero crear una
> exepción con un nombre agradable para él por si le llega a salir eso.
>
> ok
>
> ATTE
> Fuy
>
>
>
Respuesta Responder a este mensaje
#4 Octavio Hernandez
09/01/2007 - 10:26 | Informe spam
Hola,

Creo que la diferencia fundamental es que C# no incluye las "checked
exceptions" (las que
declaras explícitamte en el encabezamiento de los métodos). En esta
entrevista Hejlsberg
explica por qué las quitó:

http://www.artima.com/intv/handcuffs.html

Por lo demás, los mecanismos se parecen mucho...

Slds - Octavio


"Fuy" escribió en el mensaje
news:
Gracias, básicamente era lo mismo que en Java.

Recuerdo haber leido un artículo, lo publicaron en una lista de C# de
google, donde hablaba de las exepciones y de por que el creador las
había puesto de una cierta forma que cambiaba un poco a comparación
de Java, pero bueno creo que no puse mucha atención en ese entonces.

ok

ATTE
Fuy


Ricardo Franco ha escrito:

El comentario de Octavio me parece muy acertado, solo agregaría que para
tu
aplicación es recomendable heredar de ApplicationException en vez de
Exception.

En esta liga podrás ver la recomendación que menciono.
http://msdn2.microsoft.com/es-es/li...nexception(VS.80).aspx

"Octavio Hernandez" wrote:

> Hola,
>
> Se recomienda hacer exactamente lo mismo que en Java: crearte tu propia
> clase (o jerarquía) de excepciones.
> Por ejemplo, si tu librería de clases se llama Abc, puedes hacer
>
> public class AbcException: Exception
> {
> public AbcException(string msg): base(msg)
> {
> }
> public AbcException(string msg, Exception inner): base(msg, inner)
> {
> }
> }
>
> En el código en el que se pueden producir excepciones hacer:
>
> try
> {
> }
> catch (Exception x)
> {
> throw new ExpressionsException("Excepción imprevista en Abc",
> x);
> }
>
> Y cuando quieres lanzar tu propia excepción:
>
> throw new AbcException("Mensaje personalizado");
>
> Slds - Octavio
>
>
> "Fuy" escribió en el mensaje
> news:
> Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
> Para manejar mis exepciones en Java lo que hacia era crear una clase
> que hereda de Expection y asi crea mis propias exepciones. En C# se
> puede hacer eso?, crear mis propias clases para menajar mis exepociones
> ? ya que en el programa que ando haciendo me salen exepciones que son
> las que maneja C# y no se ve nada agradable para el usuario, ya que
> sacalen muchas y el usuario no entiende, por lo que quiero crear una
> exepción con un nombre agradable para él por si le llega a salir eso.
>
> ok
>
> ATTE
> Fuy
>
>
>
Respuesta Responder a este mensaje
#5 ANT1
11/01/2007 - 13:30 | Informe spam
Veo que definis una clase propia para lanzar las excepciones. Y se
sigue usando los metodos try y catch normalmente.

Pero si se produce el error dentro de un codigo que tu no manejas, como
es durante la edicion de una celda de un datagrid view. Habria que
recurrir al evento de error del datagridview (no recuerdo el nombre) y
desde ahi lanzar la excepcion propia, ¿no?. ¿O hay alguna forma de
que todas las excepciones de tu aplicacion sean manejadas directamente
por una clase creada por ti?



On 9 ene, 10:26, "Octavio Hernandez"
wrote:
Hola,

Creo que la diferencia fundamental es que C# no incluye las "checked
exceptions" (las que
declaras explícitamte en el encabezamiento de los métodos). En esta
entrevista Hejlsberg
explica por qué las quitó:

http://www.artima.com/intv/handcuffs.html

Por lo demás, los mecanismos se parecen mucho...

Slds - Octavio

"Fuy" escribió en el mensajenews:
Gracias, básicamente era lo mismo que en Java.

Recuerdo haber leido un artículo, lo publicaron en una lista de C# de
google, donde hablaba de las exepciones y de por que el creador las
había puesto de una cierta forma que cambiaba un poco a comparación
de Java, pero bueno creo que no puse mucha atención en ese entonces.

ok

ATTE
Fuy

Ricardo Franco ha escrito:

> El comentario de Octavio me parece muy acertado, solo agregaría que para
> tu
> aplicación es recomendable heredar de ApplicationException en vez de
> Exception.

> En esta liga podrás ver la recomendación que menciono.
>http://msdn2.microsoft.com/es-es/li...nexception(...

> "Octavio Hernandez" wrote:

> > Hola,

> > Se recomienda hacer exactamente lo mismo que en Java: crearte tu propia
> > clase (o jerarquía) de excepciones.
> > Por ejemplo, si tu librería de clases se llama Abc, puedes hacer

> > public class AbcException: Exception
> > {
> > public AbcException(string msg): base(msg)
> > {
> > }
> > public AbcException(string msg, Exception inner): base(msg, inner)
> > {
> > }
> > }

> > En el código en el que se pueden producir excepciones hacer:

> > try
> > {
> > }
> > catch (Exception x)
> > {
> > throw new ExpressionsException("Excepción imprevista en Abc",
> > x);
> > }

> > Y cuando quieres lanzar tu propia excepción:

> > throw new AbcException("Mensaje personalizado");

> > Slds - Octavio

> > "Fuy" escribió en el mensaje
> >news:
> > Hace tiempo aprendí a programar en Java, ahora me cambie a C#.
> > Para manejar mis exepciones en Java lo que hacia era crear una clase
> > que hereda de Expection y asi crea mis propias exepciones. En C# se
> > puede hacer eso?, crear mis propias clases para menajar mis exepociones
> > ? ya que en el programa que ando haciendo me salen exepciones que son
> > las que maneja C# y no se ve nada agradable para el usuario, ya que
> > sacalen muchas y el usuario no entiende, por lo que quiero crear una
> > exepción con un nombre agradable para él por si le llega a salir eso.

> > ok

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