fezinha 0 Denunciar post Postado Julho 14, 2009 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 Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Julho 14, 2009 Já tentou configurar o seu try except para formatar a mensagem que deseja? Algo do tipo.... try Query.Execute; except on e: exception do //Se for uma exception, entra aqui, onde poderia fazer seu tratamento para a mensagem showmessage(e.message); end; []'s Compartilhar este post Link para o post Compartilhar em outros sites
fezinha 0 Denunciar post Postado Julho 14, 2009 Então, eu já tinha pensado em tratar a mensagem que o E.Message retorna e pegar só o texto que eu quero. Mas eu queria saber se não tem uma forma melhor para fazer isso. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Julho 17, 2009 A única alternativa que poderia bolar talvez seria por em uma unit todos os erros possíveis de retorno de erro e jogar o erro retornado para dentro dela e lá tratar a mensagem para exibir da forma que achar melhor... Exceptions só com o try except você vai conseguir controlar mesmo, agora a formatação das mensagens vai do seu critério para montar. No trampo, nós faziamos algo assim para capturar exceptions de SPs. try Query.Execute; except on e: exception do //Se for uma exception, entra aqui, onde poderia fazer seu tratamento para a mensagem showmessage('Ocorreu um erro na Stored Procedure XXXXX. ' + #13 + e.message + #13 'Contate o suporte técnico, informando o erro apresentado.'); end; []'s Compartilhar este post Link para o post Compartilhar em outros sites