Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-07-2014
pani_alex pani_alex is offline
Miembro
 
Registrado: oct 2005
Posts: 51
Poder: 19
pani_alex Va por buen camino
consulta try finnaly except

me gustaria saber si se puede capturar un exception en el try finally, yo lo estoy usando asi
Código Delphi [-]
try
  try
    codigo
  except
    si el codigo tiene algun error lo grabo en un log
  end;
finally
  finalmente cierro todo
end;

y quisiera algo mas practico como

Código Delphi [-]
try
  codigo
finally
  on e:exception do begin
    grabo excepcion
  end;
  cierrro todo
end;
Responder Con Cita
  #2  
Antiguo 04-07-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, así
Responder Con Cita
  #3  
Antiguo 04-07-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Porqué quieres capturar la excepción dentro del finally?

El finally te asegura que la ejecución de código pasará por allí, aunque antes se produzcan errores, de esa forma si pones el código de "cerrar todo" (por ejemplo) , te asegurarás de que se ejecuta.

¿Porqué poner el except en una parte del código que se ejecuta siempre, si no quieres que el except se ejecute siempre (sólo cuando hay errores)? No digo que falle, pero no le veo sentido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 04-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pani_alex,

Cita:
Empezado por pani_alex
...me gustaría saber si se puede capturar un exception en el try finally...


Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #5  
Antiguo 04-07-2014
pani_alex pani_alex is offline
Miembro
 
Registrado: oct 2005
Posts: 51
Poder: 19
pani_alex Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
¿Porqué quieres capturar la excepción dentro del finally?

El finally te asegura que la ejecución de código pasará por allí, aunque antes se produzcan errores, de esa forma si pones el código de "cerrar todo" (por ejemplo) , te asegurarás de que se ejecuta.

¿Porqué poner el except en una parte del código que se ejecuta siempre, si no quieres que el except se ejecute siempre (sólo cuando hay errores)? No digo que falle, pero no le veo sentido.
Es que necesito hacer dos cosas a la ves, una grabar si o si un registro de todas las excepciones, por eso el try except y dos asegurarme de que si so si se ejecute el codigo para cerrar/liberar/finalizar x tarea q se haya realizado, no creo que sea la primera persona que haya pensado en eso y me parece que debe existir ya alguna forma para ello, por eso consulto. La parte del on e:exception necesito que se ejecute solo en caso de excepcion no en cada finally
gracias por las respuestas




Cita:
Empezado por nlsgarcia Ver Mensaje
pani_alex,




Revisa esta información:
Espero sea útil

Nelson.
ya lo conocia y lo lei en varias ocaciones, solo que no encuentro lo q busco en esa info
Responder Con Cita
  #6  
Antiguo 04-07-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pani_alex Ver Mensaje
Es que necesito hacer dos cosas a la ves, una grabar si o si un registro de todas las excepciones, por eso el try except y dos asegurarme de que si so si se ejecute el codigo para cerrar/liberar/finalizar x tarea q se haya realizado
En ese caso no se si debería ser algo así:

Código Delphi [-]
try
  try
    codigo
  finally
    cierrro todo
  end;
except
  on e:exception do begin
    grabo excepcion
  end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 04-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pani_alex

El código propuesto en el Msg #6 resume tu requerimiento

Revisa esta información:



Tomado de : DelphiBasics - Try

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 04-07-2014 a las 19:40:31.
Responder Con Cita
  #8  
Antiguo 05-07-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por pani_alex Ver Mensaje
[...] no creo que sea la primera persona que haya pensado en eso [...]
Es correcto. Existe la recomendación a Embarcadero desde hace algunos años, pero por alguna razón todavía no ha sido implementada. Digo todavía porque confío en que se terminará agregando algún día (así como en su momento se agregó el Exit parametrizado). Las mejoras de sintaxis son el tipo de características que suelen tomarse con mucha calma y meditación antes de agregarlas a un lenguaje de programación maduro. Es una especie de conservadurismo, pero, a semejanza de la Real Academia Española, nos salva (por ahora) de llegar al punto de comunicarnos en spanglish-mandarín. Quizá esta mejora a Try se implemente cuando sea corregido el With.

De momento la solución es anidar un Try dentro de otro Try.

Un saludo.
Responder Con Cita
  #9  
Antiguo 05-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Al González,

Cita:
Empezado por Al González
...Existe la recomendación a Embarcadero desde hace algunos años, pero por alguna razón todavía no ha sido implementada...


Pregunto:

1- ¿Donde se puede ver esa recomendación a Embarcadero de modificación de la sentencia Try?.

2- ¿Como se implementaría dicha modificación?

Nelson.
Responder Con Cita
Respuesta



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
Consulta SQL basada en otra consulta anterior jafera SQL 5 19-11-2013 01:07:37
consulta sobre una consulta :D PablorD MySQL 4 02-06-2010 21:59:51
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 19:17:14.


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
Copyright 1996-2007 Club Delphi