I wrote a thread in Delphi with exception handling, but when the exception happens the operation is aborted and does not fall into the except block. Is there any specific handling of exceptions within threads?
procedure TThreadEnvioJSONsWS.Execute;
var
vErro: String;
begin
try
CoInitialize(nil);
vSucesso := False;
TSistema.retornaInstancia.adicionaMensagemLog('Iniciando a geração dos dados.', cOperacaoLog);
if not(envioWSEmpresa(vErro)) then
raise Exception.Create(vErro);
if not(envioWSAparelhos(vErro)) then
raise Exception.Create(vErro);
if not(envioWSApontamentos(vErro)) then
raise Exception.Create(vErro);
if not(envioWSOperadores(vErro)) then
raise Exception.Create(vErro);
if not(envioWSRiguers(vErro)) then
raise Exception.Create(vErro);
if not(envioWSAparelhosOrdens(vErro)) then
raise Exception.Create(vErro);
vSucesso := True;
except
on e:Exception do
begin
vMensagemErro := 'Falha no envio das informações.'+ sLineBreak+ e.message;
TSistema.retornaInstancia.adicionaMensagemLog(vMensagemErro, cOperacaoLog);
end;
end;
CoUninitialize;
end;