Fórum Problema com exception #48962
19/01/2005
0
Por que ao disparar um gatilho com delphi a mensagem do delphi vem acompanhada com a palavra [color=red:09769e87b6]´Exception 1´[/color:09769e87b6].
Ex. Tenho um gatilho que verifica se uma determinada fita de vídeo está disponível no acervo.
Mensagem original do gatilho: ´[color=red:09769e87b6]Vídeo não disponível no acervo.[/color:09769e87b6]´.
A mensagem fica assim: ´[color=red:09769e87b6]Exception 1 Vídeo não disponível no acervo.[/color:09769e87b6]´.
Alguém sabe como contornar esse problema?
Obrigado.
Imoreira
Curtir tópico
+ 0Posts
20/01/2005
Fsflorencio
Você pode utilizar um componente TApplicationEvents para contornar esta situação.
No evento OnException você pode tratar a Variável [b:f72997971c]E[/b:f72997971c] dando uma mensagem mais amistosa, mas para isto vc deverá marcar o início de suas mensagens de erro com algum caracter. No exemplo vou usar ´:´;
Ex.
begin
//Todo e qualquer tipo de exceção vai passar por aqui
if Pos( [i:f72997971c][b:f72997971c]´:´[/b:f72997971c][/i:f72997971c], E.Message ) > 0 then
begin
MessageDlg( Copy( E.Message, Pos( [b:f72997971c]´:´[/b:f72997971c], E.Message ) + 1, Length(E.Message) ), MtWarning, [mbok], 0 );
end
//E.Message é a mensagem que o banco vai retornar
//No exemplo, mandei copiar a mensagem de erro da posição do [b:f72997971c]:[/b:f72997971c] para frente
end
Gostei + 0
20/01/2005
Imoreira
exception 1 [color=red:7547df4b29]não[/color:7547df4b29] foi o nome dados para a minha exceção.
Mas de qualquer modo vou testar a sua dica.
valeu.
Gostei + 0
07/07/2006
Marcos Fernando
ficou assim:
var msg : pansichar; begin try SCREEN.Cursor := crHourGlass; IBTable1.Delete; SCREEN.Cursor := crdefault; except on E: Exception do begin if Pos( #13, E.Message ) > 0 then begin msg := pchar(´Ocorreu o segunte erro: ´+13+Copy( E.Message, Pos(13, E.Message ) + 1, Length(E.Message))); SCREEN.Cursor := crdefault; Application.MessageBox(msg,PChar(application.title), mb_DefButton2+mb_IconError+mb_TaskModal); end; end; end; end;
Thanks
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)