Fórum Mensagens de excecões #372269

14/07/2009

0

Pessoal,

Preciso da ajuda de vocês.

Criei várias triggers no meu banco de dados Firebird.
Essas triggers chamam algumas exceptions.

No Delphi, utilizei o try ... except no momento de execução dessas triggers.

Quando a exceção é lançada, exibe uma mensagem assim:
General SQL error. exception <nome da exceção> ´texto da exceção´ at trigger <nome da trigger>.

Isso quer dizer que a trigger está funcionando, mas eu gostaria de saber se tem alguma maneira de só
mostrar para o usuário o TEXTO DA EXCEÇÃO, e não toda a mensagem de erro.

Aguém tem a solução?

Obrigada,

Fernanda


Feberaldo

Feberaldo

Responder

Posts

14/07/2009

Osocram

Bom tem varias maneiras.
vc pode fazer isso no proprio Try except;
para isso seria interessante vc mostrar aqui como vc esta fazendo esse seu tratamento.
por exemplo se tiver usando
try

except 
  on e:exception do showmessage(e.message) <- aqui vc pode pegar o e.message e fazer uma logica p formatar o erro da maneira que vc quer.

end;//try


ou se vc estiver usando um AplicationEvents vc pode pegar a mensagem no evento de mensagem dele (ele pega mensagem do sistema inteiro) e tratar la.

Pessoal, Preciso da ajuda de vocês. Criei várias triggers no meu banco de dados Firebird. Essas triggers chamam algumas exceptions. No Delphi, utilizei o try ... except no momento de execução dessas triggers. Quando a exceção é lançada, exibe uma mensagem assim: General SQL error. exception <nome da exceção> ´texto da exceção´ at trigger <nome da trigger>. Isso quer dizer que a trigger está funcionando, mas eu gostaria de saber se tem alguma maneira de só mostrar para o usuário o TEXTO DA EXCEÇÃO, e não toda a mensagem de erro. Aguém tem a solução? Obrigada, Fernanda



Responder

Gostei + 0

14/07/2009

Feberaldo

Então, eu tinha pensado em fazer da primeira forma que você citou, mas queria saber se não tem um jeito melhor do que ficar tratando o texto da mensagem.


Responder

Gostei + 0

14/07/2009

Osocram

Então o segundo jeito q t falei vc centraliza o tratamento de todos os exception em um lugar so.

dae vc faz um pos(´General SQL error. exception´,e.message) > 0 por exemplo
dae sempre faz um metodo que formata isso...

assim em vez de vc ter q fazer isso em todo o lugar... faz em apenas um.


Então, eu tinha pensado em fazer da primeira forma que você citou, mas queria saber se não tem um jeito melhor do que ficar tratando o texto da mensagem.



Responder

Gostei + 0

14/07/2009

Feberaldo

Mas então. Tem muito texto junto. O nome da exceção, o nome da trigger, etc.
Teria q cortar a string em vários pedaços. Sem contar q teria que inforar qula exceção estaria lançando e em qual trigger.

Ficaria complicado mesmo assim, você não acha?


Responder

Gostei + 0

14/07/2009

Osocram

Olha... sou bom em achar padrão nas coisas... inclusive em frases...
me add no msn... dae vc me manda algumas frases exemplos
te mandei meu msn em MP.
fiz um exemplo aqui p mandar p vc.

Mas então. Tem muito texto junto. O nome da exceção, o nome da trigger, etc. Teria q cortar a string em vários pedaços. Sem contar q teria que inforar qula exceção estaria lançando e em qual trigger. Ficaria complicado mesmo assim, você não acha?



Responder

Gostei + 0

14/07/2009

Osocram

aqui esta dando um erro qdo tento mandar MP...
tentei 2x se não for tenta vc me mandar um MP.
T+


Responder

Gostei + 0

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

Aceitar