Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Jeova Oliveira dos Santos

Tratar erro

Question

Boa noite, alguém pode me ajudar sobre o que estou querendo fazer, pois tenho uma conexão de banco de dados que caso der algum erro deve me retornar uma mensagem de erro de conexão e pronto nada mais. Uso banco mysql e componente de acesso Zeus com delphi 2010.

Abaixo vai minha função.

procedure TfrmPrincipal.lerBanco;

var caminho,IP:string;

data:TIniFile;

begin

caminho:=(ExtractFilePath(Application.ExeName));

data:=TIniFile.Create(caminho+'config\conf.ini');

with dm.ZC do

begin

Database:=data.ReadString('nDatabase','DataBase','');

HostName:=data.ReadString('nHost','HostName','');

Password:=data.ReadString('nSenha','Senha','');

Port:=data.ReadInteger('nPorta','Porta',0);

Protocol:=data.ReadString('nProtocol','Protoloco','');

User:=data.ReadString('nUser','Username','');

data.Free;

try

Connected:=True;

finally

if Connected=false then

ShowMessage('Erro de conexão');

end;

end;

end;

Do jeito que está mostra o a mensagem e outra tela dizendo uma mensagem padrão de erro de usuário padrão do mysql e eu não quero que mostre, somente mostre a Showmensage que programei e nada mais.

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
Do jeito que está mostra o a mensagem e outra tela dizendo uma mensagem padrão de erro de usuário padrão do mysql e eu não quero que mostre, somente mostre a Showmensage que programei e nada mais.

Experimente utilizar o tratamento de exceção da forma apropriada para este caso:

...
  with dm.ZC do
  begin
       ...
       try
           Connected:=True;
       except
           ShowMessage('Erro de conexão');
       end;
  end;
end;

Quando você utilizar o finally, o bloco de código dentro dele é executado havendo ou não uma exceção. Já quando você usa o except, o bloco de dados dentro dele será executado apenas quando ocorre a exceção. Nesta condição, quando você estiver depurando o código, pode até ser que a mensagem de exceção do banco seja apresentada, seguida pela sua. Mas executando fora do ambiente de desenvolvimento (o executável gerado) voce deve observar apenas a mensagem que voce programou.

Faz tempo que não programo Delphi, então, dê uma testada para ver se é isto mesmo. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148437
    • Total Posts
      643878
×
×
  • Create New...