Como funciona o Exeptions do Firebird?

Firebird

06/01/2006

Como funciona o Exceptions do Firebird?

vi que posso informar uma mensagem de erro. mas como faço para disparar esta mensagem...?


Raserafim

Raserafim

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

06/01/2006

Primeiro vc cria a exceção com CREATE EXCEPTION. Ex:

CREATE EXCEPTION TESTE ´Exceção de teste´;


Depois vc pode usá-la numa trigger ou SP, bastando usar o comando:
EXCEPTION nome_exceção


Essa mensagem de erro personalizada é interceptada pela aplicação como qualquer outra mensagem de erro e tratada de acordo.


GOSTEI 0
Raserafim

Raserafim

06/01/2006

eu iria criar atravez do IB Expert, mas não entendi legal pra que realmente serve (qual a grande vantagem) o Exception.

Serve apenas para mostrar uma mensagem? e se for é mais viável colocar isso no banco do que no delphi?


GOSTEI 0
Afarias

Afarias

06/01/2006

|Serve apenas para mostrar uma mensagem?

não. server para abortar uma operação no banco, enviando uma mensagem ao cliente informando do ocorrido.


T+


GOSTEI 0
Raserafim

Raserafim

06/01/2006

cliente significa tb a aplicação?
então isso significa que seria uma forma de a base se comunicar, ´via eventos´ com a aplicação, possibilitando q algum procedimento da aplicação seja disparado quando um Eception for executado. é isso mesmo?


GOSTEI 0
Afarias

Afarias

06/01/2006

|cliente significa tb a aplicação?

isso


|então isso significa que seria uma forma de a base se comunicar, ´via
|eventos´ com a aplicação, possibilitando q algum procedimento da
|aplicação seja disparado quando um Eception for executado.

não. não exatamente como eventos -- para isso existe o POST EVENT

a exception funciona como no delphi -- não é um sistema de informação, é um sistema de controle.

por exemplo, poderia ter uma exception como:

create exception desconto_invalido ´Erro. Produto nao permite desconto´;

e usar em uma trigger before insert tipo:

if (new.tipo_produto = 1 and new.desconto > 0) then
  exception desconto_invalido;


desta forma a exception não deixa passar a inclusão de registros ´inválidos´ e informa a aplicação que foi tentado gravar um registro q não está seguindo determinada regra


T+


GOSTEI 0
Rtava

Rtava

06/01/2006

Dê uma olhada neste post:
http://forum.clubedelphi.net/viewtopic.php?t=73629


GOSTEI 0
POSTAR