Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Exclamation Captura de Errores

Hola amigos..

Nuevamente necesito de su ayuda, les cuento, necesito crear una funcion que captura todos los errores que sucedan en mi sistema, las estructuras TRY / EXCEPT / FINALLY capturan los errores, pero necesito saber el error exacto que ha ocurrido, cuando trabajaba en Visual Basic podía conocer el error exacto que sucedía y esto lo lograba obteniendo el número del error (err.num), alguien me podria indicar una manera parecida de poder lograr esto.

Muchas Gracias
Responder Con Cita
  #2  
Antiguo 08-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Usando un ApplicationsEvents (lo siento, no recuerdo en qué pestaña de la paleta de componentes está), puedes capturar todas las excepciones que pueden ocurrir.

Para detectar el error concreto, puedes usar el except:
Código Delphi [-]

try
   blahhh
except
  on E: DatabaseError do
  begin 
    // aqui controlas la excepción de tipo DAtabaseError
  end
  else on E: eOutofMemory do
  begin

  end
  else
  begin
    raise; // para el resto mostramos la excepción
  end;
end;
Normalmente tienes que saber qué tipo de excepción puede saltar, y eso lo sabes leyendo la ayuda sobre las funciones que estés usando dentro del try .. except.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 08-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Talking

Muchas Gracias... voy a probrar lo que me dices..
Responder Con Cita
  #4  
Antiguo 08-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola, no se si viene a cuento o no, pero yo para saber exáctamente que error da, uso lo siguiente:

Código Delphi [-]
  try
  except
     on e:exception do GrabaLog(e.message);
  end;
GrabaLog es un procedimiento que graba en un fichero de texto una linea con la fecha y hora exacta de la edición del fichero, junto con el mensaje del error, ocurrido. Así mis usuarios, me mandan el fichero log y yo analizo que tipo de error ocurre según el mensaje, que en mi caso suele ser muy genérico.

Saludos
Responder Con Cita
  #5  
Antiguo 09-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Thumbs up

muchas gracias, pero no hay ninguna manera de saber el número del error, por ejemplo si el error fuera el numero 7 sabriamos que ha ocurrido un desbordamiento... gracias por su ayuda.
Responder Con Cita
  #6  
Antiguo 09-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Ese código de error, depende directamente del tipo de excepción.

Por ejemplo, una excepción del tipo EDBEngineError (del antiguo BDE), si lleva un código numérico asociado a dicho error (la propiedad es E.ErrorCode), sin embargo, otro tipo de excepciones no lleva número asociado, sino solamente una cadena de texto que es una constante y que se llama cuando ocurre el error, como ya imaginas, de este tipo de excepciones no puedes obtener su código de error.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 09-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Muchas gracias.. Lepe.. eso es lo que busco un codigo que me indique el error que se ha generado..gracias por tu tiempo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Captura de errores y algo mas wonder boy Varios 1 15-02-2005 18:02:51
Control y captura de errores in acceso BBDD Interbasse con ibExpress radiohead Conexión con bases de datos 1 05-11-2004 11:13:22
Captura de errores scooterjgm OOP 3 04-10-2004 16:52:39
Captura de errores mosorio Conexión con bases de datos 4 12-09-2003 13:37:26
Captura de errores con WHEN ANY Carlitos Firebird e Interbase 3 03-09-2003 14:41:28


La franja horaria es GMT +2. Ahora son las 19:13:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi