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

Lanzando HTTPException

Estas en el tema de Lanzando HTTPException en el foro de .NET en Foros del Web. Saludos, trabajando con ASP .NET usando C# tengo un problema, llegado un punto en mi código hago esto: ar=0; try { if(ar>0)//((Equals("",nombre.Text)) throw new HttpException(404,"not ...
  #1 (permalink)  
Antiguo 23/05/2005, 10:00
lrn
 
Fecha de Ingreso: marzo-2004
Mensajes: 40
Antigüedad: 20 años, 2 meses
Puntos: 0
Lanzando HTTPException

Saludos, trabajando con ASP .NET usando C# tengo un problema, llegado un punto en mi código hago esto:

ar=0;
try {
if(ar>0)//((Equals("",nombre.Text))
throw new HttpException(404,"not found");
catch (HttpException exc) {}

es decir, quiero lanzar una excepcion HTTP si se cumple esa condición (como veis estoy forzando a que no se cumpla), el caso es que siempre se lanza una excepción en cuanto invoco al archivo ¿qué ocurre?
  #2 (permalink)  
Antiguo 23/05/2005, 16:20
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
El código que tienes es “correcto”, no tiene porque mandar ninguna excepción ...

Sería bueno que enviaras un poquito más de código relacionado y si es posible la descripción del error que te manda.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 25/05/2005, 01:39
lrn
 
Fecha de Ingreso: marzo-2004
Mensajes: 40
Antigüedad: 20 años, 2 meses
Puntos: 0
Ok, me he expresado mal, mi idea es lanzar una excepcion cuando yo quiera usando throw new HttpException(404,"not found"), el caso es que cuando pongo ese codigo ocurre algo extraño y es que nada mas invocar al .aspx concreto el navegador me redirecciona a una pagina de error http, aunque en teoría no se tendría que ejecutar el throw como ocurre aquí:

int ar=0;

if(ar>0)
throw new HttpException(404,"not found");
  #4 (permalink)  
Antiguo 25/05/2005, 18:18
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
El código que pusiste no manda ningún error, es más, el bloque try/catch está de más, porque lanzas una HttpException dentro del "try" y luego dentro del "catch" manejas dicha excepción (con que objetivo ¿?). Además ten en cuenta que cada vez que lanzas una excepción tiene un impacto en el rendimiento de tu aplicación, sólo hazlo en los casos que realmente sean necesarios ...

Probé con lo siguiente: Throw New HttpException(404, "Not Found") ' vb
y esto es lo que produce, me imagino que no quieres algo así, o sí?

Si quieres mandar dicho código de error, entonces puedes modificar las cabeceras de la página:
Código:
Response.Clear();
Response.StatusCode = 404;
Response.End();
Sólo una observación más, no sé para que tipo de usuario estés haciendo la aplicación o sólo estas probando, pero eso de mandar errores de ese tipo al cliente, NO es adecuado ni recomendable (estoy seguro que muchos que visitan el foro, opinarán de la misma forma), en lugar de eso deberías utilizar una página que te permitan mostrar dicho "error" de una manera más elegante "user friendly"

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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




La zona horaria es GMT -6. Ahora son las 03:21.