Ola Marcio.

Eu faço assim para ver erros no banco de dados

comando
.....
$sth->execute || die $DBI::errstr
....

Se estiver em web utilio o modulo "CGI::Carp qw(fatalsToBrowser 
warningsToBrowser)" este serve para mandar os erros na tela facilita bastante:-)




Ricardo Stock
www.stocksistemas.com.br
  ----- Original Message ----- 
  From: Marcio - Google 
  To: saopaulo...@mail.pm.org 
  Sent: Wednesday, March 13, 2013 2:08 PM
  Subject: [SP-pm] Tratamento de erros


  Pessoal,


     Aprendi em um tutorial a algum tempo fazer assim:
  eval {
  # Códigos que podem dar erro
  }
  if ($@) {
  # Deu pau
  }


     Só que alguns erros, principalmente relacionados a bando de dados (DBI), 
mesmo ocorrendo no código dentro do eval abortam o programa. Tipo, tento 
inserir com chave duplicada, o erro aborta o programa.


     Eu precisava de algo como try/except/finally, onde não importa qual erro 
ocorre dentro do try, não aborta o programa e cai no except onde consigo saber 
qual erro e trata-lo de forma especifica ou genérica, e se não deu erro executa 
o código que está em finally.


     Como eu faço isso em Perl?


     Eu sei que são dúvidas bem elementares e alguns podem achar que eu to com 
preguiça de procurar na net. Não é isso, sempre procuro antes de perguntar. 
Mais como outro membro disse, em Perl há várias formas de fazer a mesma coisa. 
Então quando não acho, ou não entendo, ou acho várias formas, pergunto para 
tentar aprender a forma mais "elegante" e correta de fazer.


     Obrigado pela paciência ... :-)

  [...]'s

  Marcio 


------------------------------------------------------------------------------


  =begin disclaimer
     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
   SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a