Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Excepciones en firebird (https://www.clubdelphi.com/foros/showthread.php?t=68169)

GustavoCruz 28-05-2010 19:11:48

Excepciones en firebird
 
Hola amigos del foro, tengo un db en firebird 2.1 a cuya base le he creado algunas excepciones.

mi inconveniente surge al momento de mostrar el mensaje, pues no sólo me muestra el mensaje del error sino que tambien en dónde ocurrio; lo que hago es esto.

Código Delphi [-]
with SQLQuery do
    begin
      SQL.Clear;
      SQL.Add(Cadena);
      try
        ExecSQL;
      Except
        on E: Exception do
           ShowMessage(E.ClassName+#10+#13+E.Message);
      end;
    end;

Lo que me gustaría mostrar es el texto de la excepción y nada más, por ejemplo: "No se ha suministrado información del paciente. Por favor verifique para continuar".

De antemano mil gracias por vuestro tiempo

GustavoCruz

duilioisola 29-05-2010 11:12:55

Lo único que debes hacer es que Delphi maneje la excepción:

Código Delphi [-]
with SQLQuery do
    begin
      SQL.Clear;
      SQL.Add(Cadena);
      try
        ExecSQL;
        Transaction.Commit;
      finally
        Close;
      end;
    end;

Quita la parte except...end y sustitúyela por finally...end.
La parte que está después de except se ejecuta SOLO si ha ocurrido una excepción.
La parte después de finally se ejecuta SIEMPRE.
Esto te sirve por ejemplo cuando haz creado algo y sucede una excepción, para pode liberar este objeto.

mightydragonlor 31-05-2010 21:16:44

esto mismo aplica para lazarus?

duilioisola 01-06-2010 08:50:29

Si, en lazarus es igual.


La franja horaria es GMT +2. Ahora son las 17:55:39.

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