Errores no controlados

19/02/2006 - 17:28 por Imac_man | Informe spam
saludos amigos,

como puedo capturar los errores no manejados o no
controlados..globalmente, esto en vb.net 2003,


mil gracias de antemano

Preguntas similare

Leer las respuestas

#1 A.Poblacion
19/02/2006 - 17:49 | Informe spam
"Imac_man" wrote in message
news:
como puedo capturar los errores no manejados o no
controlados..globalmente, esto en vb.net 2003,



¿Windows o Web?

Si la aplicación es de tipo WinForm, se capturan con el evento
Application.ThreadException.

Si es de tipo WebForm, se usa el evento Application_Error del
global.asax.
Respuesta Responder a este mensaje
#2 Imac_man
20/02/2006 - 15:28 | Informe spam
Tendras algun ejemplo, mil gracias de antemano

"A.Poblacion" escribió en
el mensaje news:uP$
"Imac_man" wrote in message
news:
como puedo capturar los errores no manejados o no
controlados..globalmente, esto en vb.net 2003,



¿Windows o Web?

Si la aplicación es de tipo WinForm, se capturan con el evento
Application.ThreadException.

Si es de tipo WebForm, se usa el evento Application_Error del
global.asax.



Respuesta Responder a este mensaje
#3 A.Poblacion
20/02/2006 - 20:01 | Informe spam
"Imac_man" wrote in message
news:O6k$
Tendras algun ejemplo, mil gracias de antemano



Los ejemplos que tengo están en C#, pero cualquiera de los traductores
automáticos de C# a VB te lo debería convertir sin problemas:

Para Web:
Meter el siguiente código en el global.asax. En caso de error, esta rutina
lo graba en el Log de eventos del sistema, y salta a la página
"PaginaDeError.aspx". No hay que olvidarse de crear dicha página, en la cual
daremos un aviso genérico de error.

void Application_Error(Object sender, EventArgs e) {
Exception objErr = Server.GetLastError().GetBaseException();
string err = "Error en la aplicación;" +
"Error en: " + Request.Url.ToString() +
"Mensaje de error:" + objErr.Message.ToString() +
"Traza de pila:" + objErr.StackTrace.ToString();
EventLog.WriteEntry("MiPrograma", err, EventLogEntryType.Error);
Server.ClearError();
Response.Redirect("PaginaDeError.aspx");
}

Para Windows:
Meter al inicio del programa una llamada a ControlarExcepciones(), y
añadir el siguiente código:

private static void ControlarExcepciones()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new
UnhandledExceptionEventHandler(Evt_Excepcion);
Application.ThreadException += new
System.Threading.ThreadExceptionEventHandler(OnThreadException);
}
private static void Evt_Excepcion(object sender,
UnhandledExceptionEventArgs args)
{
ExcepcionImprevista((Exception)args.ExceptionObject);
}
private static void OnThreadException(object sender,
System.Threading.ThreadExceptionEventArgs args)
{
ExcepcionImprevista(args.Exception);
}
private static void ExcepcionImprevista(Exception exc)
{
MessageBox.Show("Error imprevisto:"+exc.Message + ""+exc.Source,
"Error interno", MessageBoxButtons.OK, MessageBoxIcon.Stop);
Application.Exit();
}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida