Tratamento de Exceções Centralizada

26/01/2006

tem algum lugar onde posso capturar todas a exceções que são geradas pelo programa? para que possa concentrar as exceções em um único lugar?


Raserafim

Respostas

26/01/2006

Leonardobhbr

crie uma procedure


procedure ManipulaExcecoes(Sender: TObject; E: Exception);
begin
MessageDlg(E.Message , mtError, [mbOK], 0);
end;


e no create do form principal


Application.OnException := ManipulaExcecoes;


Responder Citar

01/02/2006

Raserafim

blz leonardo.
mas como saber que tipo de erro ocorreu para então apresentar uma mensagem personalisada?


Responder Citar

01/02/2006

Leonardobhbr

segue um exemplo


procedure ManipulaExcecoes(Sender: TObject; E: Exception);
begin
if E is EDBEngineError then begin//se o erro for bde
if ErrorCode = 9734 then
ShowMessage(´Este registro não pode ser removido, outros arquivos precisam dele.´)

end;
end;


Resumindo vc vai ter que ver os possiveis erros que sua aplicação pode retornar ou então procure dentro da pasta do delphi \Source\Vcl


os arquivos que contem o nome consts neles fica as mensagens de erro

traduza eles e recompile os arquivos


Responder Citar