Tratamento de erro

30/09/2004

0

Pessoal, estou com um problema no uso do Try Except. Estou usando os componentes Indy TIdSMTP e TIdMessage para enviar emails. Está funcionando OK, até acontecer uma excessão tal como falta de conexão com a internet, ou problemas em minha rede (o que resulta no mesmo). Envio o email da seguinte maneira:
           Try
               SMTP.Connect(30);
               SMTP.Send(MENSAGEM);
               SMTP.Disconnect;
           Except
               .....
               ............
               ........
           End;

Onde: ´MENSAGEM´ é o componente TIdMessage com todos os parâmetros já definidos.

[b:4b58c4cba1]Minha pergunta é[/b:4b58c4cba1]: Como evitar que o programa trave em caso de algum problema impedir que o envio do email seja bem sucedido, tal como falta de internet?

Tudo funciona perfeitamente. O problema mesmo é o Try Except que não trata o erro.
Da forma como eu fiz no código acima, o Try não está tratando a excessão (não tenho a menor idéia porque) e o programa trava se o computador não estiver conectado. Alguém tem alguma sugestão de rotina que evite que o programa trave em caso de não ser possível enviar o e-mail?

Valeu!
wbb


Responder

Posts

30/09/2004

Osocram

o SMTP deve ter um evendo d timeout ou alto assim...

acho q o seu prob non eh um erro e sim um timeout enton non eh pego pelo try Except.


Responder

01/10/2004

Wbb

Exatamente!!!

Você tem idéia de como tratar isso?

Valeu!
wbb


Responder

04/10/2004

Osocram

Wbb

Como eu t disse eu mexi num prog assim a mto tempo....

Acho q vc pode verificar ou aumentar o timeout dele...
assim ele fica tentando mandar por mais tempo...
ex: se o timeout = 10 enton ele vai tentar por 10segundos
dae vc aumenta p 30s por ex.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar