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.
Alguem ai pode me ajudar?
Desde já agradeço.
Obrigado,
Ricieri.
Ricieri
Curtir tópico
+ 0
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
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
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
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url
Descrição
Url
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.
Aceitar