Porque minha Exception dentro do BD executa mas não levanta a mensagem?

16/01/2017

0

Olá boa tarde!

Alguém conseguiria me explicar porque esta exception executa mas não exibida a mensagem?

É o seguinte, antes de baixar um estoque de Promoção, verifico se tem qtde suficiente no estoque de promoção, caso não exista, disparo uma exception.
Fiz o teste, a exception é executada, ms mensagem não aparece.

===============================
SELECT CODPROD, QTDE
FROM CADPROD_PROMOCAO
WHERE (CODPROD =:CODPROD)
INTO :vCodprod, qtprom;
if (vCodprod > '') then
begin
if (:QTDE > QTPROM) then
exception QTDE_PROMOCAO;
end
===============================

CREATE EXCEPTION QTDE_PROMOCAO 'Exemplo teste de exception';

COMMENT ON EXCEPTION QTDE_PROMOCAO IS
'Qtde de promocao';
===============================

---------------------------------------------
Try
//----------------------------------//
//....Inicio do Start Transaction //
//----------------------------------//
DMCN.Start();
//-----------------------------------------//
//...Estorna Contas a Receber //
//-----------------------------------------//
IF (DMMVD_Ds_Movenda_state <> 'I') Then
Grddv.Estorna_Movenda_Receber(Codvenda);

Inherited;

//--------------------------------//
//...Commit //
//--------------------------------//
ErroSistema := 1;

DMCN.Commit(); //...Grava o Registro
Except on E: Exception do
Begin
Msg := 'ATENÇÃO!'+#13+'Aconteceu um erro ao gravar o registro!'+#13+#13+E.message;
Application.MessageBox(Pchar(msg),'Erro',MB_Ok+mb_IconError);
DMCN.Rollback(); //...Gerou um erro ao gravar
But_alterar.Down := true;
DMMVD.Cds_Movenda.Edit;
End;
End;
Antonio Jesus

Antonio Jesus

Responder

Posts

16/01/2017

Paulo Hendrix

Este é, o código exato da sua Procedura, no seu sistema. manda informações de como estão as colunas no seu banco de dados. estão em INT BOOLEAN etc... pode ser um erro de conversão ou algo que ainda não pode ver.. se poder injetar mais infor, sera mais facil.. não esquece. quanto mais info mais rápido respostas ... banco de dados usado. dados sobre a tabela se as colunas estão em modo int boolean string etc.. ok abraço..
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar