![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Hola.
En el ejemplo que citas si puedes cerrar el query antes del mensaje
Saludos
__________________
Be water my friend. |
|
#2
|
|||
|
|||
|
try/except/finally
ok,
ahora no puedo probarlo mañana comento algo al respecto seria mejor tratar el try con la excepción correcta? con lo que pongo seria suficiente para cualquier operación que se haria con el query o tendría que tratar alguna excepción más? Código:
TRY
query1.open;
edit1.text := query1.fieldbyname ('CAMPO').asstring ;
EXCEPT On EDatabaseError do
begin
query1.close ;
showmessage ('Error al cargar los datos');
end;
Código:
on EDatabaseError do gracias |
|
#3
|
||||
|
||||
|
El "ON" es para filtrar el tipo de excepción, cuando se quiere dar una respuesta diferente para ciertos tipos. Así:
Además te permite acceder a los métodos de la excepción, tales como el identificador, el mensaje, etc. También ten en cuenta que cada bloque filtrará la excepción indicada y todas aquellas de clases derivadas que no hayan sido procesadas ya. Por eso "ON Error: Exception " obtendrá todas las excepciones que no se hayan filtrado. Y por eso es importante el orden en el que se pongan, ya que se pueden ocultar si se ponen en el orden incorrecto (por ejemplo, si pones "ON Error: Exception " la primera, entonces nunca ejecutará el resto). De todas formas, puedes anidar un "FINALLY" dentro del "EXCEPTION":
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment Última edición por Ñuño Martínez fecha: 12-09-2011 a las 20:33:27. |
|
#4
|
|||
|
|||
|
try/except/finally
Cita:
muchas gracias me parece muy completo el aporte un comentario;entiendo que en el segundo try(el anidado) si ocurriera alguna excepción/error al intentar Código:
edit1.text:= query1.fieldbyname('campo').asstring
muchas gracias |
|
#5
|
||||
|
||||
|
Cita:
La respuesta ya te la dió Ñuño en el código que mencionás con un comentario:
Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#6
|
||||
|
||||
|
Mira este hilo también...
Si después de un try..except te salta una excepción más, seguramente es que tu codigo depende de que se ejecute correctamente el codigo en ese bloque: En este código te saltará primero el mensaje de que "No puede abrir la base de datos" y luego uno del tipo "Database not Open". Lo correcto sería:
|
|
#7
|
|||
|
|||
|
try/except
ok,
la cosa me queda mas clara; gracias por los aportes lo unico, he hecho pruebas pero todavia sigue saliendome en ocasiones el mensaje de "insuficient memory..." y lo que comentaba, me obliga a cerrar todo delphi y volver a abrir el proyecto para seguir trabajando y programando. no se si es algo normal, si le pasa a mas gente o es solo a mi porque algo hago mal. el caso es que si estoy programando y ejecuto el codigo para ver que tal funciona, se me da el caso que da errores que en tiempo diseño no he contemplado y tengo que modificar el codigo.Hasta aqui todo bien pero si hago cambios para corregir el problema, sigo programando y probando el codigo y se vuelven a dar fallos en más ocasiones, llega un punto en que como decia antes tengo que cerrar todo. De ahi, mi consulta sobre este hilo, no se si era algo que programaba mal... o es algo que es normal; si pruebo el codigo y da fallo, salta el mensaje de excepción (no el mensaje que yo tengo puesto en el EXCEPT) y he probado una vez ocurrido esto, seguir ejecutando el codigo con F7, y es entonces cuando observo que salta la excepción que tengo puesto con el TRY y pensaba que haciendo esto, de alguna manera pudirea solucionar el problema de "insuficient memory" pero no es el caso me pasa lo mismo. hay manera de controlarlo? espero haberme explicado |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capturar Errores con Try, Finally, End | GerTorresM | OOP | 1 | 23-04-2011 23:16:01 |
| try-try-finally-finally | roman | Varios | 33 | 20-08-2008 02:27:00 |
| Try Except --finally-- | Caral | Varios | 13 | 02-10-2006 22:12:24 |
|