Eu trato excessoes de forma global e centralizada.
No meu exemplo do DDD 8, na aplicação client win32, no DM, tem um objeto chamado applicationevents, e nele tem um evento onexception, ali eu trato todas as execoes da minha alpicação cliente, claro, a não ser que seja reconciliação de dados, é o único caso que não trato lá e trato direto no clientdataset. A vantagem disso é que tenho tudo centralizo, aplicável a todo o projeto, não repito código de tratamento de erro, não perco foco de componentes e formulários, e muito bom. Inclusive o código que está o exemplo é o que uso comercialmente, com mais de 4 anos de erros tratados, você pode pegar e usar direto na sua aplicação. É assim que faço, espero poder ajudar. As ordens Abraços, Bruno Lichot De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter Alves Chagas Junior Enviada em: quarta-feira, 1 de agosto de 2007 09:08 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] Re: Como trabalhar Excetpion Geralmente eu faço este tratamento de forma mais genérica: try ... except MessageDlg(exception(exceptObject).Message]), mtError, [mbOk], 0); end; []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] <mailto:wchagas%40telemont.com.br> Fone: (31) 3389-8217 Fax: (31) 3389-8215 -----Mensagem original----- De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> [mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> ]Em nome de Ribamar Sousa Enviada em: quarta-feira, 1 de agosto de 2007 09:01 Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> Assunto: Res: [delphi-br] Re: Como trabalhar Excetpion Aproveitando o topico.... Agora alguem sabe como Tratar essa Mensagem.... Exemplo: with OraDSInssTe do try .... except on E: Exception do begin OraDsLancam. Session.Rollback ; If ERRO_DO_BANCO = 'ORA-06502' Then MessageDlg(' Estouro de Campo e/ou Passando Valor Nulo para um Campo Não Nulo!'+#13+ #10'Erro: '+E.Message, mtError, [mbOK], 0); else if ERRO_DO_BANCO = 'ORA-03114' Then MessageDlg(' NÃO CONECTADO AO ORACLE ALIAS'+#13+ #10'Erro: '+E.Message, mtError, [mbOK], 0); Abort; end; end; Se alguem tiver como ajudar.... eu agradeço. Att, Ribamar Sousa Filho ----- Mensagem original ---- De: Gabriel Herdt <[EMAIL PROTECTED] <mailto:gabrielherdt%40gmail.com> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> Enviadas: Quarta-feira, 1 de Agosto de 2007 8:27:59 Assunto: [delphi-br] Re: Como trabalhar Excetpion Oi, não sei se isso ajuda. Mas lá vai: with OraDSInssTe do try .... except on E: Exception do begin OraDsLancam. Session.Rollback ; MessageDlg(' Ocorreu um erro no total do recibo!'+#13+ #10'Erro: '+E.Message, mtError, [mbOK], 0); Abort; end; end; --- Em [EMAIL PROTECTED] os.com.br, Alexandre Rodrigues <alexandre_rodrigue [EMAIL PROTECTED] > escreveu > > Colega com case isso não vai funcionar, tu vai ter que usar o operador > is para identificar a classe e fazer com if, exemplo: > > if Exceção is EDatabaseError then > begin > //Faz alguma coisa > ... > Exit; > end; > > > Programador Delphi escreveu: > > > > > > Olá pessoal !! > > > > É o seguinte como gostaria de trabalhar com as exceções geradas qd > > ocorre erros no programa, da seguinte forma: > > > > ..... > > > > case (o que eu preciso) of > > > > EAbort : Instruções 1 > > EAccessViolation : instruções 2 > > EDivByZero: Instruções 3 > > > > else > > Instrução geral. > > > > O que eu preciso qual esta acima entre parentes, qual o cardinal que uso > > na estrutura case of e se dessa forma realmente funciona ??? > > > > Agradeço antecipadamente > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > ____________ _________ _________ _________ _________ _______ > Yahoo! Mail - Sempre a melhor opção para você! > Experimente já e veja as novidades. > http://br.yahoo. com/mailbeta/ tudonovo/ > Alertas do Yahoo! Mail em seu celular. Saiba mais em http://br.mobile.yahoo.com/mailalertas/ [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos __________ Informação do NOD32 IMON 2430 (20070731) __________ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]