FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Descripcion de errores
Hola amigos
Quisiera saber si Delphi pesee algun objeto que contenga o capture los errores que se producen durante la ejecucion de una aplicacion. En visual Basic existe el objeto "err", que contiene la descripcion del error producido, su numero, etc. ¿En Delphi existe algo similar?, lo que pasa es que estoy trabajando el tratamiento de errores (excepciones) en forma centralizada, es decir cualquier error que se produce durante la aplicacion lo derivo a una funcion que envia el mensaje correspondiente al usuario, el cual decide si reintentar o abadonar el prodedimiento, por lo cual necesito tener la descripcion de cualquier error producido en alguna funcion o procedimiento para enviarsela como parametro a la funcion de tratamiento de errores entes mencionada. Se agradece cualquier ayuda de antemano. |
#2
|
||||
|
||||
Para manejar centralizadamente los errores (excepciones) podrías colocar una componente TApplicationEvents e implementar su evento OnException.
También podrías definir un procedimiento Código:
procedure ManejaExcepcion(E: Exception); begin ... end; Código:
try ... except on E: Exception do ManejaExcepcion(E); end; |
#3
|
|||
|
|||
Gracias Roman, pero cuando intento realizar esto:
procedure ManejaExcepcion(E: Exception); begin ... end Me envia el siguiente error "undeclared identifier exception", que me imagino debe ser porque no reconoce el tipo exception como un idehntificador valido, ¿debo declararlo o usarlo (uses) en alguna parte del proyecto?....... |
#4
|
||||
|
||||
Debes incluir la unidad SysUtils
// Saludos |
#5
|
|||
|
|||
Gracias Roman
Si fuera posible me gustaria que me ayudaras con lo de las exepciones. Te cuanto, como te he dicho en los anteriores mensajes estoy trabajando las excepciones en forma centralizada, por lo cual, cualquier error ocurrido en la aplicacion se deriva a una funcion que analiza el error y envia el mensaje correspondiente al usuario, mi problema es el siguiente: ¿existe alguna propiedad en las excepciones que me permita idertificar de cual se trata....?, en el siguiente codigo te puede quedar mas clara mi duda: Function ErroresSistema(ErrorOcurrido: Exception): String; Begin if ErrorOcurrido = EDivByZero Then Begin ...... end If ErrorOcurrido = ERangeError Then Begin ...... end If ErrorOcurrido = EStackOverflow Then Begin ...... end ..... ..... end; La comparacion "ErrorOcurrido = EStackOverflow", no es valida ya que "ErrorOcurrido" es un objeto de tipo exception y "EStackOverflow", es un valor que hace referencia al error ocurrido. ¿existe alguna propiedad del objeto exception que referencie de alguna forma al identificador del error ocurrido y que sea comparable de esta forma "ErrorOcurrido.xxxxx = EStackOverflow", de manera que sean tipos compatibles para la comparacion?....Si existe otra manera de compar tambien podria ser una alternativa... Cualquier ayuda se agradece de antemano. |
#6
|
||||
|
||||
Por ejemplo
Código:
if ErrorIcurrido is EDivByZero then |
|
|
|