Código Delphi
[-] dmTablas.DBFacturacion.Commit;
except
dmTablas.DBFacturacion.Rollback;
raise;
end;
El raise, es para que vuelva a levantar la excepción que se ha producido, si no, no te enteras de nada, se realiza el Rollback y no muestra el error.
saludos