![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
try
//codigo except on E: Exception do ErrorDialog(E.Message, E.HelpContext); end; |
|
#2
|
|||
|
|||
|
Aprovecho este hilo para hacer una consulta sobre excepciones FireBird.
Yo genero mis excepciones en FireBird y las ejecuto segun alguna condicion en un Procedure(firebird tambien). El tema es que yo quiero capturar ese mensaje de la excepcion por delphi. Estoy usando adoquery para ejecutar mis Procedures. Si alguien pudiera asesorarme le agradeceria mucho ya que quiza para muchos es algo sencillo pero yo recien empiezo con el Delphi y sigo aprendiendo cosas nuevas. Saludos Oscar |
|
#3
|
||||
|
||||
|
Hola,
El código indicado por "Sinaloense" es el que necesitas para controlar las excepciones de la BBDD. un saludo
__________________
PepeLolo El hombre el único virus que mide más de unas cuantas micras |
|
#5
|
||||
|
||||
|
Saludos.
Oscar, ErrorDialog es un nombre que le dio Sinaloense por decir un nombre a un metodo que llame un Showmessage o MessageDlg. En cuanto a capturar la excepcion la gente de FibPlus tienen un tremendo componente para esto, es de pago vale la pena tener estos componentes. Hasta luego.
__________________
Gracias, Rolphy Reyes |
|
#6
|
||||
|
||||
|
No hace falta comprar nada.
Pon un ApplicationsEvents en tu ventana principal. En el evento OnException, puedes programar lo que quieras. Dentro del evento haz un showmessage de E.Message Ahora en tus rutinas tienes 3 opciones mutuamente excluyentes: 1.- No poner bloques try..excepts, de forma que al ocurrir una excepción, ésta llegue al componente ApplicationsEvents.OnException en el que has programado lo que quieras hacer. 2.- Usar bloques try ... excepts, pero permitir que dicha excepción se lance de nuevo. Típico caso, en la rutina haces un rollback de la transacción y después en el Application.OnException muestras el mensaje al usuario:
3.- Usamos bloques try ... except, pero nos comemos la excepción. No llegará al Application.OnException. No se mostrará ningún mensaje al usuario.
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-02-2008 a las 14:51:43. |
|
#7
|
||||
|
||||
|
Cita:
Yo he elegido este método, el problema que tengo es que antes de mostrar el mensaje de la excepción al usuario la ejecución de mi programa se corta siendo necesario darle F9 devuelta para que recién ahí se muestre el mensaje y queden los objetos en el estado que yo quiero... ¿hay algúna forma de que esto no ocurra? este es el código que produce la excepción:
'MDOdataset1.QInsert.ExecQuery ' es la linea que produce la excepción, como dije antes se corta la ejecución y me da un mensaje de el componente y me disgusta que eso ocurra quiero que solo se notifique el mensaje de error al usuario.... Gracias |
|
#8
|
||||
|
||||
|
Cita:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#9
|
||||
|
||||
|
Saludos.
Lepe en mi ayuda no existe ningun topico sobre ese metodo, pero si en la tuya existe entonces favor de poner la explicación. Gracias.
__________________
Gracias, Rolphy Reyes |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|