FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ok, ahora lo entiendo.
He buscado la forma de construir las excepciones, y parece que puedes hacer algo como: No se si te dará toda la informacion, pero esta linea "at trigger 'tabla_bi line 21 col 34'" es algo que yo no querria quitar, puesto que te indica donde esta el error. Para este caso, es obvio, y ya sabes lo que esta mal, pero en otros casos esa info es importante. Yo por costumbre lo que hago es comprobar los valores antes de hacer el post, y si no cumplen los requisitos, mensaje y para atras. No uso muchos compos dbaware, y cuando los uso no son para edicion, asi que puedo permitirme esto. defcon1 sugiere capturar los error_code, yo creo que tambien se podrian validar los datos en el evento onBeforeUpdate, y si alguno no cumple se cancela el post y se le envia un mensaje al cliente. ya nos contaras |
#2
|
|||
|
|||
solucionado de otra manera
Cita:
No entiendo porque no puede ser asi... no obstante, lo he resuelto como tu bien dices, desde la parte del cliente, haciendo la prevalidación desde el evento beforepost del componente tfibdataset, pero ya comento, tiene que haber alguna manera facil de 'formatear' esos mensajes de excepción generados por el usuario. la opción de defcon1 es muy válida, aunque pienso que no se adapta muy bien a este caso, ya que simplemente queria utilizar la excepción en el servidor como un 'comprobador de campos', quizás lo hubiese podido hacer desde la definición de la columna de la base de datos con la cláusula CHECK..., gracias a todos,, un saludo... |
#3
|
||||
|
||||
Puedes usar la opción de defcon1 perfectamente.... pero en lugar de usarlo en un try... except, coloca ese código del except en un ApplicationsEvents.OnException.
Así la misma rutina de gestión de excepciones la tienes centralizada en un único sitio y te vale para todos los errores de la aplicación. Si no quieres que muestre todo el mensaje cárgate el mensaje original de la excepción y pones el tuyo.... a ver si me explico con código: en el applications.OnException Application.ShowException no estoy muy seguro, creo que es la forma correcta, pero no recuerdo si pertenece a "Application" o es una rutina escondida... También puedes usar en Interbase un prefijo para todas tus excepciones, por ejemplo al definir la excepción lo haces así: Ahora en el applications.OnException buscas la cadena prefijo "Mi_excepcionIBInicio" y sólo copias el texto hasta el sufijo "Mi_excepcionIBFin" saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 17-12-2008 a las 16:35:26. |
#4
|
|||
|
|||
Cita:
ok, gracias, creo que ahora si que lo tengo claro, me pongo a la faena de crear un manejador de errores,,, universal... gracias a todos... |
#5
|
||||
|
||||
resp
El problema no es del manejador si no de los componentes que estes usando. Lo que hacer es sobreescribir el codigo del componente donde se lansa la exception. Y es si los componentes no dispones de las fuentes podrian crean on procedimiento onexception global ya asignarselo a al aplicacion y hay verificas si le exception es del tipo d einterbase o firebird y arreglas la caeena a tu conveniencia.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mensaje de error: Debugger Exception Notification. | cesar_gta86 | Varios | 1 | 02-07-2008 17:23:57 |
Path completo en la red | RebeccaGL | Redes | 9 | 18-02-2008 20:15:18 |
Listado completo de tabla | teclilla | Impresión | 3 | 15-02-2008 22:50:58 |
el codigo completo | ElDioni | SQL | 2 | 11-07-2005 17:39:41 |
Informe Completo | Franklim | Impresión | 5 | 02-04-2004 13:45:29 |
|