Como criar e tratar exceções?
Pessoal, li várias dúvidas aqui no Fórum e um artigo sobre try - exception, mas não consegui implementá-los.
Por exemplo, se quizesse tratar um erro de conversão de uma string para um número inteiro, como faria o código da exceção?
Porque fiz da seguinte forma, mas não funcionou. Ele retorna a mensagem de erro de conversão do delphi.
Try
A := StrToInt(Edit1.Text);
Except on EConvertError do ShowMessage(´Erro de conversão!´);
End;
Por exemplo, se quizesse tratar um erro de conversão de uma string para um número inteiro, como faria o código da exceção?
Porque fiz da seguinte forma, mas não funcionou. Ele retorna a mensagem de erro de conversão do delphi.
Try
A := StrToInt(Edit1.Text);
Except on EConvertError do ShowMessage(´Erro de conversão!´);
End;
Ricardovs
Curtidas 0
Respostas
Paulo_amorim
30/11/2004
Olá
Pelo que eu vi está correto...
Eu testei seu código aqui e ele deu a mensagem que vc criou...
Tem certeza que o erro ocorre exatamente nessa linha?
Tente implementar esse código, e veja o que retorna. Se ele retornar ´EConvertError´ então não faz nenhum sentido. Se retornar outra coisa, então o problema não deve ser isso
Como outra alternativa, você pode tentar mudar para
Porém isso deixará teu código genérico, e não terá como pegar mais de uma exceção por vez
Até+
Pelo que eu vi está correto...
Eu testei seu código aqui e ele deu a mensagem que vc criou...
Tem certeza que o erro ocorre exatamente nessa linha?
Tente implementar esse código, e veja o que retorna. Se ele retornar ´EConvertError´ então não faz nenhum sentido. Se retornar outra coisa, então o problema não deve ser isso
Como outra alternativa, você pode tentar mudar para
on Exception do ShowMessage(´Erro de conversão´);
Porém isso deixará teu código genérico, e não terá como pegar mais de uma exceção por vez
Até+
GOSTEI 0
Ricardovs
30/11/2004
Olá
Pelo que eu vi está correto...
Eu testei seu código aqui e ele deu a mensagem que vc criou...
Tem certeza que o erro ocorre exatamente nessa linha?
Tente implementar esse código, e veja o que retorna. Se ele retornar ´EConvertError´ então não faz nenhum sentido. Se retornar outra coisa, então o problema não deve ser isso
Como outra alternativa, você pode tentar mudar para
Porém isso deixará teu código genérico, e não terá como pegar mais de uma exceção por vez
Até+
on Exception do ShowMessage(´Erro de conversão´);
Será que eu não tenho que desabilitar em algum lugar no Delphi a opção de mostrar mensagens de exceção?
Porque no meu caso ele mostra apenas a mensgem de erro do Delphi.
GOSTEI 0
Gandalf.nho
30/11/2004
Veja se a opção [b:34ab8cfceb]Stop on Delphi Exceptions[/b:34ab8cfceb] não está marcada nas configurações do Debugger...
GOSTEI 0
Ricardovs
30/11/2004
A opção está marcada, quer dizer estava, acabei de desmarcá-la e está funcionando perfeitamente.
Valeu galera!!!
Valeu galera!!!
GOSTEI 0
Paulo_amorim
30/11/2004
Olá
Lembrando que quando essa opção está marcada o ´erro´ ocorrerá somente no compilador, na aplicação em si (a partir do executável) isso não ocorre
Até+
Lembrando que quando essa opção está marcada o ´erro´ ocorrerá somente no compilador, na aplicação em si (a partir do executável) isso não ocorre
Até+
GOSTEI 0