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

Interceptar error y devolver codigo fuente?

Estas en el tema de Interceptar error y devolver codigo fuente? en el foro de .NET en Foros del Web. Hola! Hace un tiempo vi un sistema que, en caso de tirar algun error, daba la opción de enviar por mail al fabricante el codigo ...
  #1 (permalink)  
Antiguo 02/11/2009, 23:28
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Interceptar error y devolver codigo fuente?

Hola!

Hace un tiempo vi un sistema que, en caso de tirar algun error, daba la opción de enviar por mail al fabricante el codigo fuente del evento en el que se generó el error (incluso con una pequeña referencia de en que parte del evento surgió ese error) y un screen.

Entiendo como hacer printscreen, entiendo como enviar mails, pero no entiendo como el programa (ya compilado) muestra (o guarda en txt) el codigo fuente donde está el problema...

Alguien me puede dar algun link en donde explique como programar ese tipo de funciones? o alguien tiene algo ya armado?

Muchas gracias.!
__________________
diegoz.com.ar
  #2 (permalink)  
Antiguo 03/11/2009, 02:04
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Interceptar error y devolver codigo fuente?

Hola!

si usas la sentencia try...catch puedes capturar los errores que da la aplicación. Me imagino que irán por ahí los tiros...

Saludos!!
  #3 (permalink)  
Antiguo 03/11/2009, 08:23
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Interceptar error y devolver codigo fuente?

Te refieres a que el programa envíaba algo como:
Código vb.net:
Ver original
  1. Dim cn As New SqlConnection(cadena)
  2. Dim cmd As New SqlCommand(sql,cn)
  3. --
  4. --
  5. --

A lo mucho yo he logrado mandar el StackTrace que te envía información bastante valiosa del error.
Código vb.net:
Ver original
  1. Try
  2. '
  3. '
  4. Catch ex As Exception
  5. ex.StackTrace
  6. End Try
__________________
Eduardo Peredo
Wigoin
  #4 (permalink)  
Antiguo 03/11/2009, 12:49
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Interceptar error y devolver codigo fuente?

Correcto, no enviarás el código fuente sino la descripción de la excepción que ocurrió, de esa forma el desarrollador puede encontrar más fácilmente el problema.
  #5 (permalink)  
Antiguo 04/11/2009, 04:24
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Interceptar error y devolver codigo fuente?

Les aseguro que el año pasado tube que instalar un sistema de tercero que guardaba en un .txt el codigo fuente del evento del error y lo enviaba por mail.
Igualmente, con err.descrption y stacktrace pude armar algo interesante.
Ahora me gustaria saber si hay alguna forma de ejecutar un procedimiento o función SIEMPRE que surja un error pero sin usar Try. La idea es no tener que usar Try para que pueda afectar todo el sistema en general y no solo ese pedazo de codigo.

Muchas gracias!
__________________
diegoz.com.ar
  #6 (permalink)  
Antiguo 04/11/2009, 07:18
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Interceptar error y devolver codigo fuente?

En aplicaciones web si se puede manejar eso mediante el evento Application_OnError del global.asax, pero en winforms no sé si existirá algo equivalente a eso, al menos yo no lo conozco.

PD: Cual es ese programa que envía código fuente por e-mail? si se puede.

__________________
Eduardo Peredo
Wigoin
  #7 (permalink)  
Antiguo 04/11/2009, 07:27
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Interceptar error y devolver codigo fuente?

Me mataste, era un sistema que usaba una sucursal de Toyota en Argentina.
__________________
diegoz.com.ar
  #8 (permalink)  
Antiguo 04/11/2009, 10:51
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Interceptar error y devolver codigo fuente?

en winforms se peude de igual manera cuando ejecutas una aplicacion winforms esta inicia en Program.cs (caso de c#)

y ahi puedes decirle q haga algo como

[STAThread] static void Main() {
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Appli cation_ThreadException);
Application.Run(new Form1());
}

private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) {
// Aqui iria tu codigo que hace auditoria de errores

.....e.Exception.Message;
}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 04/11/2009, 11:02
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Interceptar error y devolver codigo fuente?

Cita:
Iniciado por Peterpay Ver Mensaje
en winforms se peude de igual manera cuando ejecutas una aplicacion winforms esta inicia en Program.cs (caso de c#)

y ahi puedes decirle q haga algo como

[STAThread] static void Main() {
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Appli cation_ThreadException);
Application.Run(new Form1());
}

private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) {
// Aqui iria tu codigo que hace auditoria de errores

.....e.Exception.Message;
}
Uh, C es chino para mi. Sabes como sería en VB?

Gracias!
__________________
diegoz.com.ar
  #10 (permalink)  
Antiguo 04/11/2009, 11:15
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Interceptar error y devolver codigo fuente?

C# no C

checa esto , es un poco mas de trabajo en vb.net pero funciona

http://blogs.vbcity.com/drydo/archiv...0/02/8752.aspx
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
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 15:18.