FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Excepciones en Lazarus
Cordial saludo,
He visto en varios foros y páginas que hay un problema con el manejo de excepciones en Lazarus, ya que el bloque TRY, FINALLY no realiza su función debidamente. Ejemplo:
A pesar de que está en un bloque TRY FINALLY, el programa genera el error y no continua su ejecución, dentro o fuera del entorno de Lazarus. Solicito de su colaboración para indicarme cómo puedo tratar los errores en el código. De antemano, gracias por su colaboración. Última edición por roman fecha: 25-01-2016 a las 18:56:33. Razón: Corregir la etiqueta delphi |
#2
|
||||
|
||||
#3
|
||||
|
||||
Para no desalentar el estudio de excepciones que te propone Casimiro Notevi, simplemente diré que el bloque try-finally no maneja excepciones
LineComment Saludos |
#4
|
||||
|
||||
Hola cd.rafael.
Hay dos puntos, el primero es que tendrías que usar try/except para capturar la excepción. Ya Casimiro te señaló un enlace donde se trata el tema de forma excelente. Lo segundo y que corresponde al IDE de Lazarus, es que tendrías que desactivar la opción "Notificar en excepciones de Lazarus", para lo que debes dirigirte en la barra de menu a : Herramientas -> Opciones -> Depurador -> Excepciones del lenguaje Saludos Edito: Veo que roman ya había apuntado el detalle del uso de finally mientras publicaba este mensaje
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 25-01-2016 a las 19:32:08. |
#5
|
|||
|
|||
Efectivamente al cambiar por except funcionó, aunque me acuerdo que en Delphi no tenía esos inconvenientes.
Es posible que los años (sin usar Delphi) no vengan solos. Muchas gracias a todos por su aporte y colaboración. |
#6
|
||||
|
||||
En delphi es igual. No son inconvenientes, simplemente es que except y finally tienen dos objetivos distintos.
LineComment Saludos |
#7
|
||||
|
||||
Cita:
Parece que en programación no es como andar en bicicleta. Cita:
Lo que quizá haría falta aclarar es que esto de como se maneja la excepciones no es cosa de Delphi o de Lazarus sino más bien ya es cosa de como ha sido pensado y diseñado (y estandarizado convengamos) Object Pascal. que es el realidad el verdadero lenguaje. ¡Cuando no el IDE tratando de ponerse por encima del lenguaje che! Mal hacemos en no corregir esto. Que mal acostumbrados estamos. Saludos, |
#8
|
||||
|
||||
Precisamente hay una propuesta en estudio en el equipo de FreePascal (y si no recuerdo mal, Embarcadero también la tenía sobre la mesa) para "TRY ... FINALLY ... EXCEPT ... END;" y así no tener que anidar el "TRY ... FINALLY ... END;" dentro de "TRY ... EXCEPT ... END;". Y la verdad, es una de las pocas modificaciones del lenguaje que me parece realmente útil en los últimos años.
|
#9
|
||||
|
||||
Cita:
|
#10
|
||||
|
||||
Sería genial pero me gustaría más try except finally end
El finally maneja el código que se ejecuta siempre, me parece más natural y legible Además por la forma en que hoy los anidamos el orden es ese |
#11
|
||||
|
||||
Cita:
Había visto hace días algunas propuestas (más que propuestas son pedidos) en el foro de Lazarus/FreePascal un tanto fuera de norma, como pretender que el for itere de a saltos, o que el swith sea como el que posee Ada. En fin. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
codigo de lazarus windows a lazarus linux | anubis | Lazarus, FreePascal, Kylix, etc. | 5 | 20-04-2013 21:33:55 |
Manejo de Excepciones de Base de Datos MySQL en Lazarus | comodoro | MySQL | 6 | 14-05-2012 14:18:04 |
manejo de excepciones en lazarus | marioar | Lazarus, FreePascal, Kylix, etc. | 3 | 02-12-2010 23:07:12 |
Duda Sobre Excepciones - Propagar Excepciones entre los formularios | Neeruu | Varios | 2 | 26-02-2010 20:36:50 |
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. | sakuragi | Lazarus, FreePascal, Kylix, etc. | 3 | 28-09-2006 03:31:09 |
|