FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
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 ):
on E:exception messagedlg('Error de duplicidad'); on EBError messagedlg('Error en la conexion); solo me sale el primer error y omite el segundo, que estoy haciendo de mal? Gracias. |
#2
|
||||
|
||||
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.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|