[SP-pm] Printer.pm - aberto a comentários.
Luis Motta Campos
luismottacampos at yahoo.co.uk
Fri Jan 29 13:04:11 PST 2010
Andre Carneiro wrote:
> Acho q vc não entendeu o ponto da 'frescura'.
>
> A frescura estava em fazer q{<}, ao invés de simplesmente '<'. O
> resto do código é tratamento de erro(não muito bom, por sinal). Mas
> isso não tem nada de diferente.
>
> 'open... or die $!' é uma situação que eu considero ruim, simplemente
> porque para o programa sem maiores explicações. E isto não é uma boa
> idéia(ao meu ver, pelo menos). Eu quis expressar apenas que é melhor
> ter no mínimo, algum tipo de tratamento de erro...
Mestre André,
Se o seu open-or-die está "matando" o programa, é provavelmente por que
você está usando menos blocos "eval" do que deveria. Eu gosto do modelo
de exceções:
sub open_or_die {
my ( $filename, $mode )= @_;
open my $handle, $mode, $filename
or die $!;
return $handle;
}
my $file = eval { open_or_die( 'arquivo.txt', '<' ) };
if ($@) { # deu merda, processa erro
}
Assim, você deixa a responsabilidade de tratar erros para quem entende
do que está acontecendo. Se quem chama a função não trata erro, a
punição é pena de morte. Literalmente. :)
Meus EUR0.02.
Putamplexos.
--
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.
More information about the SaoPaulo-pm
mailing list