![]() |
No Saltan las excepciones
Tengo el siguiente código:
Es la estructura básica que he usado desde hace tiempo para actualizar las tablas firebird. Inicio una transacción, ejecuto las sentencias SQL correspondientes y termino con un commit. Si salta una excepción ejecuto el RollBack y muestro el mensaje correspondiente. Al probar (forzando un error) no se muestra el mensaje (exception.create...), a pesar de que por debug puedo ver que si se ejecutan las instrucciones dentro del except y se muestra la excepción del IDE de Delphi. Si lo muestro como un MessageBox si aparece el mensaje. Esto con Delphi 7. |
Hola
Yo lo hago asi: Saludos |
te falta volver a lanzar la excepcion con raise. Una vez manejada la excepción se debe relanzar en este caso porque vuelves a usar exception.create....yo creo que si solamente quieres mostrar el mensaje basta poner el messagedlg y hacer el raise...no tiene caso crear una nueva excepción.
|
En realidad está enmascarando la excepción, para mostrar un mensaje más "amigable", no es del todo correcto, pero dado que no oculta la excepción, me parece aceptable.
Añade esto a tu linea:
Si quieres lanzar la misma excepción producida dentro del bloque except, usa solo :
Lo que nunca debes hacer es algo así: Porque el programa dará un error y lo oculta, jamás serás capaz de saber que se ha producido un error y tu programa se quedará totalmente inestable a partir de ese momento. Saludos |
Gracias a todos, en realidad ya habia cambiado a un MessajeBox, pero me tenia verde lo de no mostrar la excepción (faltaba el raise). :rolleyes:
Juan |
| La franja horaria es GMT +2. Ahora son las 09:22:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi