[SP-pm] Try::Tiny : uma opção de exception, mas nem tanto !!!
Daniel Mantovani
daniel.oliveira.mantovani at gmail.com
Thu Jun 21 09:59:18 PDT 2012
Shonorio,
Eu te recomendo usar MooseX::Method::Signatures[1] para validar os argumentos dos seus métodos, por uma questão de design.
[1] - https://metacpan.org/module/MooseX::Method::Signatures
--
Software Engineer
Just Another Perl Hacker
Daniel Mantovani +5511 8538-9897
XOXO
On Jun 21, 2012, at 1:43 PM, Solli Honorio wrote:
> 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
> =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/20120621/448e60c7/attachment.html>
More information about the SaoPaulo-pm
mailing list