Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Control de excepciones en delphi (https://www.clubdelphi.com/foros/showthread.php?t=64461)

fide_uci 02-04-2009 16:36:27

Control de excepciones en delphi
 
Hola amigos. Resulta ser que existe un componente que se llama ApplicationEvents, el cual controla ciertos eventos de la aplicacion.

En un programa que estoy desarrollando, estoy implementando una
forma o metodo de controlar todas las excepciones que se generan.

Lo que hago es agregar a cada metodo, procedimiento, funcion etc,
dos lineas de codigo parecidas a esto.

Código Delphi [-]
procedure (....................);
begin
  ModuloEnEjecucion := 'Nombre Foemulario o Unit Eje: Form 1';
  EventoEnEjecucion := 'On....';
  (....)
end;

Si se produce un error en ese trozo de codigo, entonces el componente
ApplicationEvents me ejecuta el evento OnException, y ahi es donde muestro un formulario con los datos de las variables en donde de donde fue que se genero, si en el form 1, el 2 etc. La hora, la fecha, y el evento eje: OnButton1Click.

Mi pregunta es.

¿Este metodo es malo, elcaico?
¿Existe otro mejor para controlar todas las excepciones que suceden en la aplicacion?

¿Como, mediante el Api o lo que sea puedo capturar el modulo, el evento y esas cosas de donde ocurre el error.?

Un problema que sucede con esto es que tengo que agregar a cada funcion, procedimiento. etc, que valla a utilizar, las dos lineas de codigo que mencione, estableciendo en esas variables el nombre del modulo en ejecucion, y el nombre del evento. Asi si ocurre el error, saldra como que fue en ese modulo, y dentro de ese evento.

Diganme que creen de esto. Y si lo puedo mejorar.

roman 02-04-2009 22:09:25

No quisiera desanimarte, pero creo que vas por mal camino, al menos en esta parte:

Cita:

Empezado por fide_uci
Un problema que sucede con esto es que tengo que agregar a cada funcion, procedimiento. etc

Hay soluciones ya hechas para esto. Por ejemplo:

1. madExcept
2. EurekaLog
3. ExceptionalMagic

La primera me parece que es gratuita para uso no comercial.

También puedes hacerlo tú mismo cómo se esboza aquí. Este es un viejo artículo del defunto sitio de undu.com, el enlace te lleva a la página que almacena wayback machine, de manera que no podrás descargar el ejemplo que ahí mencionan. Sin embargo, hice una búsqueda por el autor, Eddy Vluggen, y me topé con la unidad uDebug en koders que parece ser la misma que trata en el artículo.

// Saludos

fide_uci 03-04-2009 02:53:34

Hola. Gracias por lo que me dices. La verdad yo mismo no creo que sea bueno ir por este camino. no obstante, fua algo que se me ocurrio e intente probarlo y preguntar a ver que tal. Echare un ojo a los links que me pones. Gracias por todo...

Kipow 03-04-2009 03:32:06

Si no estoy mal las JVCL traen algo de eso tambien.

PD. Gratuito.

fide_uci 03-04-2009 05:31:01

Eso del madExcept es lo mejor que he visto en mi vida para el manejo de excepciones. y es totalmente personalizable. QUe rico jjejeje!


La franja horaria es GMT +2. Ahora son las 14:48:22.

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