[SP-pm] Tratamento de erros

Ricardo Stock ricardostock at bol.com.br
Wed Mar 13 11:13:10 PDT 2013


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-pm em 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 em pm.org
   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130313/f0aaf3aa/attachment.html>


More information about the SaoPaulo-pm mailing list