[SP-pm] Try::Tiny : uma opção de exception, mas nem tanto !!!

Solli Honorio shonorio at gmail.com
Thu Jun 21 09:43:08 PDT 2012


Pessoal,

Este é apenas um compartilhamento de experiência que pode ser útil aos
demais, sobre a minha frustação do perl não ter um try-catch de leitura
simples e nativo.

Tenho observado que o Try::Tiny está sendo utilizado em vários módulos
sérios e com grande utilização, em substituição ao eval{ ... } (já que
apenas os letrados em perl entende isto).

As coisas estavam encaminhando bem, até que eu resolvi 'melhorar o meu
código' e passei a ter uma coisa do tipo :

<code>
use Try::Tiny;
use Params::Validate qw(:all);

sub foo {
  my $self  = shift;
  my $param = try { validate(@_, { name => { SCALAR } } ) } catch { ... };

    ...

}
</code>

E aí todos os meus teste falharam, depois de algumas análise descobri (sem
muita surpresa) que o try { } localiza o @_ (claro, isto é um função
qualquer) e  com valor inválido. Este problema eu não tenho com o eval { }.

Bom, eu ainda vou continuar a utilizar o Try::Tiny, por enquanto, mas é
neste momento que a gente percebe que estes 'quebra-galho' no perl é chato !

Solli Honorio


-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120621/1e45bb9e/attachment.html>


More information about the SaoPaulo-pm mailing list