Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 13-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por Lepe Ver Mensaje

creo que todo se reduce a:
- querer abortar la ejecución del programa.

Si quieres abortar, usa una excepción.
Si no, usa un MessageBox.
Me gusta esa descripción simple: para abortar.

Cita:
Empezado por Lepe Ver Mensaje
Sólo comentar que esa opción tiene mucho peligro:
- el programa no hace lo que se espera
- no sabes que ha ocurrido un error.
- no sabes cómo arreglarlo.

Si no sabes cómo arreglarlo, no lo toques ... quiero decir, es mejor ver la excepción en pantalla o enviarlo a un archivo .log que ignorarla definitivamente. Si la VCL ha lanzado una excepción... por algo será

Saludos
Bueno amigo, yo dije opciones. No es una buena elección como bien lo mencionas, pero en fin de que se puede optar por esa opción se puede.

Por cierto. Si se hace uso de un Log de excepciones lo mejor es que sea un singleton. Es decir, que exista un sólo punto en donde se traten a las excepciones. Todas las excepciones van a un mismo objeto TLog, por ejemplo, y son guardadas en un único archivo.

Aunque en ocasiones, no es buena opción. Más si tiene pensando en trabajar con muchos archivos .log.

De igual manera, en ocasiones ante casos de éstas excepciones raras y a las que no sabemos tratar lo mejor es tener un "cuadro de diálogo único" por donde comunicarlas.

Lo que si es una buena opción a tener en cuenta es la de convertir excepciones a un grado de abstracción adecuado y entendible para la clase que la recibe. Por ejemplo, supongamos que tenemos las clase A, B y C. A para trabajar se comunica con B, y B con C. A cuenta con un método MA, y en el cual se procede a una comunicación lineal hasta C. Es decir, MA invoca a un método MB, y MB a uno de MC. Ahora MC lanza una excepción EC, que la captura MB. Esta excepción a A no le corresponde el adecuado grado de abstracción, por tanto B "convierte" a esa excepción EC a una excepción EB, añadiendole la información necesaria para que A sepa como tratarla y se la transmite a A.

Espero que me entienda,

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Estoy hecho un lio con los codigos de barra. Help!! escullar Impresión 28 21-02-2007 03:17:52
Excepciones banleu Firebird e Interbase 8 20-04-2006 00:11:18
Excepciones Acker Tablas planas 6 06-08-2005 15:22:18
excepciones!!!!! hanna33 OOP 3 24-05-2005 17:10:10
Excepciones del bde Pablo Carlos Conexión con bases de datos 3 15-04-2005 17:57:46


La franja horaria es GMT +2. Ahora son las 08:18:48.


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