Fórum Tratamento de Erro #313446
18/02/2006
0
if E.ClassType = EConvertError then ShowMessage(´data inválida´);
quando digito uma data inválida realmente é exibida a mensagem. porém também recebo esta mensagem quando digito algum valor inválido em outros tipos de campo.
isso ocorre pois o erro é o mesmo: EConvertError.
o que quero é saber quando o erro foi em uma data.
Raserafim
Curtir tópico
+ 0Posts
02/03/2006
Raserafim
Gostei + 0
02/03/2006
Michael
if Pos(´Data inválida´, E.Message) > 0 then ...
Porém, essa não é a maneira mais correta de se identificar uma mensagem de erro. O indicado seria vc ter uma exceção personalizada, derivada de [b:0b370da1f7]Exception[/b:0b370da1f7], e levantar essa exceção ao invés de [b:0b370da1f7]EConvertError[/b:0b370da1f7]. Aí vc poderia tratá-la usando [b:0b370da1f7]try..except[/b:0b370da1f7], ou no seu caso, dentro do evento [b:0b370da1f7]OnException[/b:0b370da1f7], exatamente como fez acima.
[]´s
Gostei + 0
18/03/2006
Raserafim
valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)