Fórum Tramento de Erros no Delphi #338180

10/03/2007

0

Pessoal, estou desenvolvendo um sistema para uma loja de materiais de contrução e queria tratar alguns erros que podem ocorrer caso o usuário lance informacoes incorretas ou tente alterar registros que nao podem ser alterados. Por exemplo, se um usuario tentar alterar uma venda feita, ele nao consegue, dá o erro padrao do Delphi: Este registro nao esta em modo de edição... Mas eu queria alterar as mensagens padroes, e dizer em uma msgbox o que o usuario deve fazer.
Alguem ai pode me ajudar?
Desde já agradeço.
Obrigado,
Ricieri.


Ricieri

Ricieri

Responder

Posts

10/03/2007

Marco Salles

Pergunta muito ampla...

Mas o mais importante é previnir o erro do que trata-lo

Por exemplo , se ocorre um erro com voce mencionou

Por exemplo, se um usuario tentar alterar uma venda feita, ele nao consegue, dá o erro padrao do Delphi: Este registro nao esta em modo de edição...


isto não é caso de Tratar , mas sim evitar que isto ocorra.

Um numero muito grande de blocos de tratamentos de exceção no seu código , provavelmente indica erros no Fluxo de programa e possivelmente um mau entendimento no papel do tratamento das exceçoes... No seu código voce deve ter muitos codigos try finally
algumas instruçoes raise e quase nenhuma instrução try except

Agora , existem situaçoes que fogem ao controle do programador...
Como é o caso de entrada de dados. Nestas situaçoes voce deve proteger o seu codigo , sempre com dois blocos try except e try finally alinhados ,para evitar ´vazamento de memória´.

Exemplo de entrada de dados ou validaçoes

Try
  try
     objetoEsperandoAlgo:=AlgoSerDigitado //
  except
   on e:TipoDaExcecao do
     begin
        faço alguma coisa   
     end
  end;//fim do primeiro bloco try except
finally
  begin
    este comandos sempre serão exceutados havendo o u não uma  
      exceção
   end;
end;//dim do bloco try Finally


P:S mesmo que voce trate as exceçoes para que informe uma mensagem mais agradável para usuário , ao [b:8ab347686b]rodar o programa via delphi [/b:8ab347686b], dependendo de com esta suas configuraçoes , a mensagem [b:8ab347686b]original[/b:8ab347686b] do delphi ainda [b:8ab347686b]aparecerá[/b:8ab347686b]...Voce deve então rodar o programa via [b:8ab347686b]Executável[/[/b:8ab347686b]quote]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar