Tratamento de exceções com Delphi (Try, Except, Finally, Raise, Excep...http://www.resumoti.com.br/?p=413 Home Sobre Início Blogs Recomendados Projeto TBitCalculaImposto (Classe em Delphi para cálculo de Impostos) Aplicativos Portable Cursos Desenvolvimento de Software Análise de Sistemas / Orientações ASP.NET C# Tutoriais Banco de Dados Firebird Boas práticas Delphi Artigos Componentes Delphi DataSnap Dicas Erros e Soluções Funções OO – Orientação a Objetos Engenharia de Software Gerenciamento de Projetos Java PHP Dicas ECF – PAF_ECF Extra TI Imagens Rede Artigos Segurança Sem categoria tutoriais diversos Uncategorized Utilidades Wallpapers Web Hospedagem de sites Joomla WordPress Temas Windows Resumo TI – Tecnologia da Informação Os mais diversos assuntos sobre Tecnologia da Informação Tratamento de exceções com Delphi (Try, Except, Finally, Raise, 1 de 7 28/09/2013 14:35 // Divisão por Zero gerará uma exceção finally 2 de 7 28/09/2013 14:35 . explicarei como funciona o mecanismo de tratamento de exceções no Delphi. se depois que eu criar tal objeto e no meio do código acontecer algum erro ou não.br/?p=413 Exception e ApplicationEvents) Nesse artigo.. y := 0. Acredito que agora já da pra ter um entendimento melhor da necessidade do tratamento de exceções. então informe a esse usuário em formato de exceção que é necessário preencher. //Divisão por Zero gerará uma exceção except showmessage('Houve um erro ao tentar dividir x por y. Finally.y. ora essa! Olha. Gerar suas próprias exceções para realizar a validação de dados entrados pelo usuário Assegurar a execução de determinados códigos independentemente de erros que possam vir à acontecer. var x. i: integer. Excep.Button1Click(Sender: TObject).Button2Click(Sender: TObject).resumoti. begin x :=100. (99. Comando Try.Tratamento de exceções com Delphi (Try. Tweetar Curtir 3 0 Comando Try.i:integer. mostre o que está dentro do Except Exemplo procedure TForm1. Except O Conjunto de Try e Except. mostra para o usuário a mensagem de erro para que eu possa identificar melhor. y := 0. begin x := 100.com. Razões na prática Se acontecer algum erro na minha aplicação que eu não programei nada. Raise. quer dizer. end. Se o usuário não preencher o código do produto. http://www. quando estiver dentro do Try e acontecer algum erro.9% dos casos acontecem) Criar regras ou comportamentos que deseje que o programa realize em caso de falhas na execução de determinados trechos de códigos. é preciso saber as razões pela qual se faz necessário a utilização dessa técnica. Except. end. Exemplo procedure TForm1. y. o que estiver dentro do Finally será executado. faça… Se acontecer algum erro ao tentar gravar tal informação.. pois y=0'). antes de mais nada. libere tal objeto da memória. var x. try x:= x div y. try x := x div y. Finally O conjunto Try Finally é utilizado para garantir que independente que aconteça erros em um determinado trecho de código. são elas: Razões na forma conceitual Detectar erros imprevisíveis na sua aplicações. begin x := 100. end. 3 de 7 28/09/2013 14:35 . end. 1) Utilizando a classe ApplicationEvents. podemos “pegar” a mensagem técnica.resumoti. Except e da classe Exception. Except. nenhum mostrou o erro que realmente aconteceu.” Detectando erros imprevisíveis na aplicação Agora vamos ver como detectar de forma global as exceções geradas pela aplicação. var x. a mensagem técnica e sim mensagem que simplesmente programamos. em eventos.Message). Except e Exception Até agora. end. Através do Try. http://www. Finally.br/?p=413 showmessage('Essa mensagem sempre será mostrada. end. O ApplicationEvents tem várias utilidades. coloque o seguinte código Showmessage(‘Houve um erro na aplicação.Tratamento de exceções com Delphi (Try.Create('Gerei uma exceção.. Excep. acontecendo erro ou não dentro do Try'). é possível o programador criar sua própria exceção e por sua vez. O comando Try. end. dentre os quais. a mensagem é : ‘+E. como o próprio nome já diz. clique no evento OnException. // Divisão por Zero gerará uma exceção except on E: Exception do showmessage ('Aconteceu um erro e a mensagem de erro é : '+E. Exemplo: procedure TForm1.com.Button4Click(Sender: TObject). y := 0. como mencionado acima. Existem duas formas nativas para realizar isso no Delphi.Text não tenha nada digitado.Message ).Text = '' then raise Exception. Raise. o Exception. try x := x div y. except showmessage ('Essa mensagem só vai aparecer caso o Edit1. Coloque um componente desse no form principal.Button3Click(Sender: TObject). begin try if Edit1. Comando Raise Através do raise. a mensagem será “Aconteceu um erro e a mensagem de erro é : Division by Zero. temos o Sender: TObject e E: Exception.. y. end. No exemplo acima. pois ' + 'o comando Raise criará uma exceção que você programou!'). Como parâmetro. i: integer. capturar com o try except. Exemplo procedure TForm1. digite alguma texto no edit1!!!'). ele consegue capturar diversos eventos ocorridos na aplicação. dentre os comando que vimos. Você pode utilizar uma procedure para fazer o mesmo trabalho que o ApplicationEvents faz.Tratamento de exceções com Delphi (Try. E: Exception).resumoti. nesse artigo mostrei de forma resumida e direta praticamente tudo o que é necessário saber para trabalhar com exceções em Delphi. E no evento OnCreate do Form.TrataExcecao(Sender:TObject. Crie uma procedure como abaixo : procedure TForm1. Raise.. Except.br/?p=413 Esse evento será disparado. a habilidade necessária para aplicar eficientemente essas técnicas. begin ShowMessage(E. begin x := 100. seja em um ambiente avançado ou básico. cabendo ao programador.Button5Click(Sender: TObject). 2) Utilizando uma procedure que tratará todas as exceções. foi “imprevisível”. // Divisão por Zero gerará uma exceção end. x := x div y. y. Finally. y := 0.rar/ Veja também. Se executássemos por exemplo o código procedure TForm1.8 Delphi 7 – Delphi XE ForceDirectories – Criar Diretório + Subdiretório de uma vez no Delphi. sempre será utilizado esses comandos para o tratamente de exceções. Tratamento profissional de exceções em Delphi com EurekaLog (Adeus Bug. O Delphi chamaria a procedure TrataExcecao. Excep. http://www.dll . Bem. Não foi possivel localizar o numero ordinal 4046 na biblioteca de vinculo dinamico LIBEAY32...Message).. end. ou seja. var x. capturando erros imprevisíveis. i: integer. coloque Application. TMS Component Pack 5. Download do exemplo : http://uploading.OnException := TrataExcecao. caso aconteça algum erro na aplicação onde você não tenha programado nada para o tratamente da exceção.. pois acima foi gerado um erro e o mesmo não foi tratado.. Access Violation e .com.com/files/a3879cc7/Exce%25C3%25A7%25C3%25B5es.. 4 de 7 28/09/2013 14:35 .. 10 TGetDiskSerial VCL v2..com. Colorindo células e linha do Database Comparer VCL CxGrid Full ver 3.Tratamento de exceções com Delphi (Try. Tratamento profissional de exceções em Delphi com EurekaLog (Adeus Bug.7.1 Delphi 2010 – Serial Físico do HD Mostrar janelas estilo MSN no Delphi com o JvDesktopAlert Seja o primeiro a comentar . Except.resumoti.O que você achou? Categories: Artigos. Access Violation e . Login Nome de usuário 5 de 7 28/09/2013 14:35 . TMS Component Pack 5...br/?p=413 Colorindo células e linha do Database Comparer VCL CxGrid Full ver 3.dll .47.47. Finally.7... Não foi possivel localizar o numero ordinal 4046 na biblioteca de vinculo dinamico LIBEAY32...2.2. http://www. Excep.8 Delphi 7 – Delphi XE ForceDirectories – Criar Diretório + Subdiretório de uma vez no Delphi. Raise.. Delphi Tags: artigos delphi Deixe uma resposta Você precisa fazer o login para publicar um comentário.1 Delphi 2010 – Serial Físico do HD Mostrar janelas estilo MSN no Delphi com o JvDesktopAlert Tweetar Curtir 3 0 Impressora Samsung Laser Multifuncional Monocromática SCX-3405 KaBuM! 15% de Desconto no Boleto Veja também.10 TGetDiskSerial VCL v2. Tratamento de exceções com Delphi (Try.. Excep.NET (3) C# (1) Tutoriais (2) Banco de Dados (5) Firebird (2) Boas práticas (2) Delphi (39) Artigos (16) Componentes Delphi (2) DataSnap (2) Dicas (11) Erros e Soluções (4) Funções (11) OO – Orientação a Objetos (2) Engenharia de Software (2) Gerenciamento de Projetos (2) Java (1) PHP (2) Dicas (2) ECF – PAF_ECF (2) Extra TI (3) Imagens (2) Rede (3) Artigos (2) Segurança (1) Sem categoria (1) tutoriais diversos (6) Uncategorized (1) Utilidades (1) Wallpapers (1) Web (6) Hospedagem de sites (3) Joomla (1) WordPress (1) Temas (1) Windows (2) Blogs Recomendados Projeto TBitCalculaImposto (Classe em Delphi para cálculo de Impostos) Nota Fiscal Fácil – Cálculos de Notas Fiscais 6 de 7 28/09/2013 14:35 . Finally.com. Raise.br/?p=413 Senha Lembrar Perdeu a senha? Registrar-se Categorias Aplicativos (3) Portable (1) Cursos (2) Desenvolvimento de Software (48) Análise de Sistemas / Orientações (2) ASP.. http://www. Except.resumoti. Tratamento de exceções com Delphi (Try.br/?p=413 Posts Recentes Mensagem de Erro (Maven / Eclipse) : java.write(unescape(' 7 de 7 28/09/2013 14:35 .util.resumoti. Excep. Raise.com. Except.TimeoutException: No response received after 60000 Como apagar fila de impressão no Windowsdocument. http://www. Finally..concurrent..