Fórum Falha no Try Except #282869
24/05/2005
0
Estou com um problema com o uso do try except.Uso uma rotina para escolher um relatorio que serar mostrado ao meu usuario,ela funciona bem a nõ ser quando o usuario informa uma data que não existe por exemplo 31/06/2005.A estrutura que estou usando e o codigo a baixo, so que o erro ocorre e ele simplismente vai para o fim da procedure.A fonte de dados e um adoquery e aconsulta já estaria realizado.
procedure MetodoExmplo
begin
try
case i do
1:begin
linha que chama o relarotio e gera o erro
2:2 linha de codigo
3:3linha de codigo
end;
except
showmessage(´teste´);
end;
end;
Espero que possam me ajudar obrigado
Rogeriorock
Curtir tópico
+ 0Posts
24/05/2005
Marco Salles
bem eu não sei se voce esqueceu , mas esta faltando instruções no seu código
procedure MetodoExmplo begin try case i of 1:begin linha que chama o relarotio e gera o erro end; 2 linha de codigo 3:linha de codigo end; except on e:econverterror do //esta faltando esta linha showmessage(´teste´); end;
voce esqueceu ou não a colocou :?: :?: :?:
Gostei + 0
25/05/2005
Rogeriorock
Gostei + 0
25/05/2005
Marco Salles
Então abaixo no on e:econverterror do // refaça a consulta , colocando uma data válida Padrão ou limpe a consulta e informe que a data esta errada...É para isto que existe o Tratamento de exceçoes, apesar do própio delphi querer dar continuidade
:?: :?: :?: :?: :?: :?:
on e:econverterror do //esta faltando esta linha
begin
// corrija e informe
end;
Gostei + 0
25/05/2005
Rogeriorock
Estou justamente tentando fazer isto que você falou eu sei para que serve try except e já o usei bastante.Sendo que neste caso não sei porque (se soubece não estaria no forum),o erro ocorre e ele simplesmente não entra no bloco except indo direto para o fim da procedure e abrindo o relatorio em branco
Gostei + 0
25/05/2005
Marco Salles
duas tentativas ...
1) coloque uma exceção geral , ao inves de e:econverterrodo
tipo isto
on e:exception do
2) Use dois Blocos Try Try Alinhados com a Intrução Finally
try try bla bla except on e:exception do deuerro:=True; end; finally if deuerro then begin //limpa e informa end; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)