FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con las Excepciones y OO
Estoy haciendo una aplicacion en 3 capas con Delphi. Por cada clase que me estoy creando en Delphi me creo tamien una clase Excepción para ella, PARA QUE OS ACLAREIS:
Unit DaoConnection: Type EDaoConnection = Class ( Exception ); Type TDaoConnection = Class .... atributos, metodos, properties... end; Unit GINRole Type EGINRole = Class ( Exception ); type TGINRole = class .... atributos, metodos, properties... end; Bien pues lo que me esta pasando es lo siguiente: kuando DaoConnection genera una excepción del tipo EDaoConnection ( EDaoConnection.Create(message) ), la Clase GINRole tiene esto: try ..... Except on E: EDaoConnection do raise EGINRole.Create('TGINRole: Error '+ E.Message); end; //Cuando se lanza una excepción DaoConnection, GINRole la controla i lanza una nueva suya (EGINRole) con el mensaje de la otra. PERO ES QUE ME PETA! da un error de memoria! por que? Alguien me puede ayudar? HELP ME! |
#2
|
|||
|
|||
Es decir añado! ME DA UN ERROR DE MEMORIA PORQUE EN E NO HAY NADA!
Except on E: EDaoConnection do raise EGINRole.Create('TGINRole: Error '+ Exception(E).Message); //En E.Message Peta porke? Pero en ejecución e? Peta en Ejecución! end; |
#3
|
||||
|
||||
A mi me funciona bien...
__________________
E pur si muove |
#4
|
|||
|
|||
respondo....
haver el control de la Excepción DaoConnection està dentro de la Classe GINRole.
Type EGINRole = Class ( Exception ); type TGINRole = class ... .. .. Procedure kaka(); begin try DaoConnection.InsertCliente(...); //Aqui se produce la excepción. Except on E: EDaoConnection do raise EGINRole.Create('TGINRole: Error '+ E.Message); end; end; end; y en el Form: try Except on E: EGINRole do ShowMessage(E.Message); end; |
#5
|
||||
|
||||
Solo se me ocurre una cosa, la excepción que genera InsertaCliente no es del tipo EDAoConnection, por lo tanto no se está capturando... ¿Puede ser?
Haz una prueba, en lugar de haz:
Ah! y por favor pon tu código entre tags [delphi]
__________________
E pur si muove |
|
|
|