Foros del Web » Programación para mayores de 30 ;) » .NET »

VB.NET ¿Que mas da Throw New Exception("Mensaje") que msgbox?

Estas en el tema de VB.NET ¿Que mas da Throw New Exception("Mensaje") que msgbox? en el foro de .NET en Foros del Web. Hola Buenas tardes !!! Bueno, pues eso, supongamos que estoy comprobando que los datos de una caja de texto sean numericos: if not isnumeric(txtTexto.text) then ...
  #1 (permalink)  
Antiguo 07/03/2005, 10:29
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
VB.NET ¿Que mas da Throw New Exception("Mensaje") que msgbox?

Hola Buenas tardes !!!

Bueno, pues eso, supongamos que estoy comprobando que los datos de una caja de texto sean numericos:

if not isnumeric(txtTexto.text) then Throw new exception("Mensaje")

¿Que diferencia hay entre eso y un MsgBox?

¿Es lo mismo, verdad, o tiene uno alguna ventaja sobre el otro?
__________________
Charlie.
  #2 (permalink)  
Antiguo 07/03/2005, 18:41
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Dependiendo de cómo esté tu aplicación, si utilizas el MsgBox, simplemente se mostrará un aviso al usuario, no pasará nada con la aplicación. En cambio al lanzar la excepción y si no existe el código necesario que se encargue de manejar dicha excepción, entonces será el entorno que se encargue de eso, pero te mostrará un mensaje indicando si quieres depurar o terminar la aplicación.
Te sugiero que sólo utilizes un MsgBox

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 08/03/2005, 02:15
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Hombre, yo entiendo que usar:
Try

catch ex as Exception
messagebox.show ex.Message
End Try

Esta muy bien cuando se quieren capturar fallos que no se sabe si van a suceder, pero cuando se trata de una comprobación simple de, por ejemplo, unos datos rellenados, no entiendo por que usan el Throw New Exception en vez del MsgBox.

¿Me explico?, algún motivo tiene que haber, ¿No?, ¿O realmente da igual?

Disculpame si soy redudante, pero es que tengo curiosidad por saber por qué muchos usan eso en vez del MsgBox.
__________________
Charlie.
  #4 (permalink)  
Antiguo 08/03/2005, 06:37
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Me pareció haber leido otra cosa.

No es igual lanzar una excepción que utilizar un MsgBox, eso tiene que ver con aspectos de rendimiento ya que las excepciones son mucho más lentas.

Ahora también depende en qué parte se encuentre dicha comparación o validación, ya que por ejm en una aplicación de 3 capas no puedes manejar (catch) dichas excepciones en los niveles, si es que se pueden llamar inferiores (como la capa de datos y negocios), esto es así más que todo para brindar información técnica a los desarrolladores de la capa de presentación o interfaz de usuario cuando se produzca un error.

Un artículo interesante sobre el rendimiento de aplicaciones:
http://msdn.microsoft.com/library/de...asp?frame=true

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 08/03/2005, 09:23
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Ok, thanks.
__________________
Charlie.
  #6 (permalink)  
Antiguo 08/03/2005, 09:24
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
no entiendo por que usan el Throw New Exception en vez del MsgBox.
Aparte de lo que menciona xknown, el hacer un throw, es generar una excepcion personalizada por asi decirla..

Por ejemplo, tengo en mi capa de datos algo así:


Cita:
Public class DataAccess
...
...
Public Shared Sub addUser()
...
try
oCmc.ExecunonQuery...
Catch (ex as Exception)
Throw New Exception ("Aqui pongo mi error y todo lo que quiera arrojar cuando se genere una exception : " & ex.Message)
Finally
oConn.Close()
End try
End Function
...
...
End Class
Entonces si se genera un error yo ya arrojo mi mensaje personalizado al usuario, es decir, ya no me arrojará el contenido real de la excepcion (a mennos que yo así lo haya indicado)

De tal forma que cuando llamo a mi método que está en la capa de datos, algo así:

Try
DataAccess.addUser()
Catch (ex as Exception)
Messagebox (ex.Message)
End Try

El mensaje contrendrá "Aqui pongo mi error y todo lo que quiera arrojar cuando se genere una exception" mas el mensaje de error real

En resúmen, simplemente el throw new exception es para arrojar excepciones cuando sean necesarias

Espero que te haya quedado mas claro...

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 08/03/2005, 09:40
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Hay amigo, hasta ahi quería yo llegar, me quedo claro como el agua.

Muchas gracias a ambos.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 10:49.