![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
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. |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
||||
|
||||
|
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 .... |
|
#4
|
||||
|
||||
|
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:
|
|
#5
|
|||
|
|||
|
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 |
|
#6
|
||||
|
||||
|
¿Es posible que durante la ejecución del programa vayas creando objetos que no vayas liberando de la memoria?
__________________
Be water my friend. |
|
#7
|
|||
|
|||
|
insuficient memory
Cita:
Código:
query1.free; action:=cafree; el mensaje "insuficient memory" me sale cuando abro algun form y me salta la excepcion en mas de una ocasion.el proceso exacto es: -probar el codigo -da errores -hago cambios, y vuelvo a compilar -pruebo otra vez el codigo -da errores -hago cambios y compilo -da errores ... -hago cambios y compilo -intento probar el codigo y salta la excepcion -cerrar la aplicación guardando o sin guardar los cambios -salir de delphi -abrir delphi y el proyecto -seguir trabajando en tiempo de ejecucion no llego a crear ningun control |
![]() |
| 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 |
|