Personalizar a caixa de mensagem de exceções (erro) do Delphi
- Declare um método (procedure) na seção private do
form principal conforme abaixo:
private
procedure ManipulaExcecoes(Sender: TObject; E: Exception);
- Vá até a seção implementation e implemente este método,
conforme o exemplo:
procedure TForm1.ManipulaExcecoes(Sender: TObject; E: Exception);
begin
MessageDlg(E.Message + #13#13 +
'Suporte técnico:'#13 +
'suporte@servidor.com.br',
mtError, [mbOK], 0);
end;
- No evento OnCreate do Form principal escreva o código
abaixo:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := ManipulaExcecoes;
end;
=== Para testar ===
- Coloque um Button no form;
- No evento OnClick deste botão coloque o código abaixo:
procedure TForm1.Button1Click(Sender: TObject);
begin
StrToInt('ABCD'); { Isto provoca uma exception }
end;
Mas Cuidado! Não coloque código que possa gerar exceção na rotina que manipula as exceções, pois se ocorrer uma exceção neste rotina, esta será chamada recursivamente até estourar a pilha.