Nem sempre é possível tornar nossa aplicação imune a todos os erros, sempre existe aquele que apenas o usuário conseguirá simular e na maioria das vezes você estará bem longe dali. Para não ficar apenas com a explicação do usuário, que muitas vezes e confusa e inconclusiva podemos criar uma maneira de ao menos rastrear os erros não controlados, isso mesmo podemos construir um "log" de erros, então vamos lá:
Adicione em seu formulário principal o componente ApplicationEvents da aba Additional;
No evento OnException entre com o seguinte código:
var
vl_NomeDoLog : string;
vl_Arquivo : TextFile;
begin
vl_NomeDoLog := ChangeFileExt(Application.Exename, '.log');
AssignFile(vl_Arquivo, vl_NomeDoLog);
IF FileExists(vl_NomeDoLog) THEN
Append(vl_arquivo) { se existir, apenas adiciona linhas }
ELSE
ReWrite(vl_arquivo); { cria um novo se não existir }
TRY
WriteLn(vl_arquivo, 'APLICAÇÃO: ['+Screen.ActiveForm.Caption+'] DATA/HORA: ['+DateTimeToStr(Now)+']');
Writeln(vl_arquivo, 'ERRO: ['+ E.Message+']');
WriteLn(vl_arquivo, '-------');
Application.ShowException(E);
FINALLY
CloseFile(vl_arquivo)
END;
FreeAndNil(vl_Arquivo);
end;
A cada exceção não controlada que for gerada teremos um registro de qual aplicação a gerou, o momento e qual a mensagem de erro, com isso fica mais fácil reproduzir o erro para que uma solução seja encontrada.
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.