This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/Libreria/Excepciones.pas
2007-06-21 15:47:20 +00:00

57 lines
2.2 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2001. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 01-10-2001
Versión actual: 1.0.0
Fecha versión actual: 01-10-2001
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit Excepciones;
interface
uses
sysutils, IB, db;
procedure TratarExcepcion(E: Exception); overload;
procedure TratarExcepcion(E: EIBError); overload;
implementation
uses
Mensajes, IBErrorCodes, Literales;
procedure TratarExcepcion(E: Exception);
begin
VerMensaje(E.Message);
end;
procedure TratarExcepcion(E: EIBError);
begin
case E.IBErrorCode of
isc_network_error : VerMensajeFmt(msgExcIBEspecifico, [msgExcErrorConexion, E.SQLCode, E.IBErrorCode, E.Message]);
isc_login : VerMensajeFmt(msgExcIBEspecifico, [msgExcLoginIncorrecto, E.SQLCode, E.IBErrorCode, E.Message]);
isc_read_only_database : VerMensajeFmt(msgExcIBEspecifico, [msgExcBDSoloLectura, E.SQLCode, E.IBErrorCode, E.Message]);
isc_no_priv : VerMensajeFmt(msgExcIBEspecifico, [msgExcFichBDSoloLectura, E.SQLCode, E.IBErrorCode, E.Message]);
isc_unique_key_violation : VerMensajeFmt(msgExcIBEspecifico, [msgExcClavePrimaria, E.SQLCode, E.IBErrorCode, E.Message]);
else
VerMensajeFmt(msgExcIBGeneral, [E.SQLCode, E.IBErrorCode, E.Message]);
end;
end;
end.