Ir al contenido


Foto

Bloques Try-Finally-Exception


  • Por favor identifícate para responder
8 respuestas en este tema

#1 coruxito

coruxito

    Advanced Member

  • Miembros
  • PipPipPip
  • 55 mensajes

Escrito 30 abril 2012 - 05:34

Hola amigos,

Tengo una duda en Delphi que me siento estúpido de preguntarlo, pero la verdad no encuentro un buen material de como utilizar los típìcos bloques


delphi
  1. Try
  2.  
  3. finally
  4.  
  5. Exception



Topé el siguiente código:


delphi
  1. Screen.Cursor := crHourglass;
  2. try
  3. // a l g o r i tmo . . .
  4. finally
  5. Screen.Cursor := crDefault;
  6. end;
  7. except
  8. on E: EDivByZero do . . .
  9. end;




Pero lo que yo quiero es crear una Exception EValidaFecha, tengo una función que hace esa validación (me encantó como Delphi trabaja con fechas, MUY práctico e cada vez me gusta más como trabaja), pero el tema es que quiero hacer saltar una excepción que la cree yo.

De hecho no me está funcionando ni el típico:


delphi
  1. try
  2. // mi código
  3. exception
  4.   on E: Exception do
  5.     ShowMessage('Error Inesperado');
  6. end;



De hecho intenté inicialmente hacer el cast de StrToDate(fecha) y capturar el fallo por aí, pero como no salía nunca el mensaje, pues probé con las funciones.

Alguien tiene algún código con más de una excepción o si Delphi trabaja bien o no con las excepciones.

Saludos a todos !!!
  • 0

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 abril 2012 - 07:40

Intenta de esta forma



delphi
  1. try
  2.   // Hacer esto
  3. except
  4.   raise exception.create('Error inesperado');
  5. end;




Saludos!
  • 0

#3 coruxito

coruxito

    Advanced Member

  • Miembros
  • PipPipPip
  • 55 mensajes

Escrito 30 abril 2012 - 08:06

Hola Felipe,

Si aís me salta, pero es que cuando salta el error quiero hacer un bloque pequeño de código.
No logré hacerlo saltar aún.
Por eso preguntaba como trabajáis con bloques de excepciones en Delphi, soy nuevo con el lenguaje e programando tb.
  • 0

#4 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 30 abril 2012 - 09:07

Para ejecutar un bloque usarías begin end:



delphi
  1. try
  2.   // Hacer esto
  3. except
  4.   on E: Exception do begin
  5.       //Aqui tu bloque de código.
  6.       //OJO: Evita siempre que de más errores tu código dentro de un bloque except!
  7.       raise exception.create('Error inesperado: '+E.message);
  8.   end;
  9. end;


  • 0

#5 coruxito

coruxito

    Advanced Member

  • Miembros
  • PipPipPip
  • 55 mensajes

Escrito 30 abril 2012 - 09:25

Sergio,

Y si quiero controlar varias excepciones ? Unas que creo yo y otras ya en el Delphi por defecto ?
Es que a en algún formulario lo único que se me escapa es fecha, en otro es fecha y tb formato de número de teléfono (ese último voy hacerlo en un funcion/procedure por limitar zonas y cosas por el estilo).
Ah tb he descubierto que tengo que cambiar una opción de debug para que me salten mis excepciones.
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 30 abril 2012 - 10:16

Hola!, por algo tenemos un buscador :):

Metodo para crear ventanas de excepciones personalizadas

Saludos.
  • 0

#7 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 566 mensajes
  • LocationEspaña

Escrito 30 abril 2012 - 10:43

Además, en el afamado libro "la cara oculta de delphi 4", del maestro Marteens, viene TODO un capítulo dedicado al tema de las excepciones, que te puede servir de mucha ayuda.

Saludos
  • 0

#8 coruxito

coruxito

    Advanced Member

  • Miembros
  • PipPipPip
  • 55 mensajes

Escrito 02 mayo 2012 - 01:45

Gracias por el material que me habéis aportado, os juro que busque por "Excepciones" y por "Delphi Excepciones" y no había dado con ese material. De hecho suelo "googlear" mucho antes de venir hacer una pregunta. De hecho ya me sentía tonto por no topar algo que supongo que es muy utilizado tb en Delphi, pero la verdad no lo topé.
Gracias estudiaré el hilo que me facilitaste enecumene.

ELKurgan tengo un La Cara Oculta, pero no sé cual es la versión (no tiene un numero a parte del título), eso en papel, pero buscaré el que me comentaste por internet.

Abrazos y gracias a los dos !!!
  • 0

#9 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 566 mensajes
  • LocationEspaña

Escrito 02 mayo 2012 - 03:21

Hombre, la cara oculta de delphi 4 está en las descargas del foro, más concretamente, en http://www.delphiacc...sa=view;down=71

Un saludo
  • 0




IP.Board spam blocked by CleanTalk.