Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Validacion (https://www.clubdelphi.com/foros/showthread.php?t=14066)

Carlex 08-09-2004 20:06:33

Validacion
 
Buenas, gracias a las librerias en español referentes a errores descrubi q mi aplicacion bota 2 errores uno de duplicidad y otro de conexion con la BD, ahora me gustaria colocar mi propio mensaje pero cuando coloco(codigo aproximado :D ):

on E:exception
messagedlg('Error de duplicidad');
on E:DBError
messagedlg('Error en la conexion);

solo me sale el primer error y omite el segundo, que estoy haciendo de mal? Gracias.

jachguate 08-09-2004 23:53:41

Dentro de la clausula except, se evaluan ordenadamente las diferentes clausulas on. Si una excepción "cabe" en la clase indicada, se ejecuta el código del On y se deja de evaluar, continuando con la siguiente instrucción despues del End.

Si revisas la jerarquia de clases, verás que EDBError desciende de Exception, con lo que es lógico que se ejecute solo la primera.

Simplemente invirtiendo el orden, funcionaría... pero en general, desaconsejo incluir algo tan genérico como la clase Exception en un try/except, dado que podes interceptar errores para los que no tenes una solución (la falta de recursos del sistema, o un error de escritura a disco, por ejemplo). Lo que aconsejo, es ser tan específico como sea posible, y no mas general de lo necesario.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 00:05:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi