FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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.
__________________
Sitrico Última edición por sitrico fecha: 30-12-2007 a las 02:57:55. |
#3
|
||||
|
||||
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.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
||||
|
||||
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
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).
Juan
__________________
Sitrico |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Excepciones | banleu | Firebird e Interbase | 8 | 20-04-2006 00:11:18 |
Excepciones | adpa | OOP | 5 | 14-12-2005 15:45:45 |
excepciones!!!!! | hanna33 | OOP | 3 | 24-05-2005 17:10:10 |
Excepciones del bde | Pablo Carlos | Conexión con bases de datos | 3 | 15-04-2005 17:57:46 |
|