Fórum Tratamento de Erro #313446

18/02/2006

0

coloquei um tratamento de erro no evento OnException de Application.

  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

Raserafim

Responder

Posts

02/03/2006

Raserafim

como faço para saber se uma palavra está contina dentro da mensagtem de erro?


Responder

Gostei + 0

02/03/2006

Michael

Use a propriedade [b:0b370da1f7]Message[/b:0b370da1f7], de [b:0b370da1f7]Exception[/b:0b370da1f7].

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


Responder

Gostei + 0

18/03/2006

Raserafim

é isso æ Michael.

valeu


Responder

Gostei + 0

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

Aceitar