Array
(
)

Tratamento de erro

Wbb
   - 30 set 2004

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:
#Código

Try
SMTP.Connect(30);
SMTP.Send(MENSAGEM);
SMTP.Disconnect;
Except
.....
............
........
End;

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

Minha pergunta é: 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


Osocram
   - 30 set 2004

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.


Wbb
   - 01 out 2004

Exatamente!!!

Você tem idéia de como tratar isso?

Valeu!
wbb


Osocram
   - 04 out 2004

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.