[SP-pm] DIE - Módulo Autoritários

Lindolfo "Lorn" Rodrigues lorn.br at gmail.com
Tue Aug 26 21:07:16 PDT 2008


Se isso te serve de consolo, seu email foi bem educativo quanto ao uso de
try/catch || eval :)
Eu nunca usei assim, mas nunca tinha pensando que é possível usa-los assim.
good point. ( tentei traduzir mais fica sem graça no português ) :P
Agora vou olhar melhor os try/catch, eval que encontrar por aí...

2008/8/27 Blabos de Blebe <blabos em gmail.com>

> Ok,
>
> Seu RTFM foi bem esclarecedor. Não pelo que diz, mas pelo que me fez
> entender.
>
> Quanto às cervejas, dispenso. Já tenho idade pra comprar as minhas ;)
>
> Hoje foi um dia onde eu me expressei especialmente mal então vamos por
> partes.
>
> Apesar de a discussão ter se iniciado com um exemplo real, e esta ser
> uma lista de Perl, enquanto todo mundo estava falando de Perl e de
> File::Path, eu, completamente fora do contexto estava falando de
> design de bibliotecas numa linguagem arbitrária. Quando todo mundo
> estava falando de die, função do Perl, eu estava ralando de die no
> sentido de exit(), completamente fora do contexto. Por este equívoco
> eu peço desculpas, principalmente ao Fernando que estava tentando me
> alertar para isso no GTalk.
>
> Apesar de não parecer, é muito mais comum do que se imagina, encontrar
> por aí, código mal escrito que não deixa claro o que está acontecendo.
> Aos que conviveram com isso, devem se lembrar de um tal módulo de
> rastreamento de aeronaves de um certo projeto, que continha exatamente
> 72 exit(0) dentro do seu algoritmo. Detalhe: exit('zero'), vai
> rastrear de onde veio, vai! E vão se lembrar também quantas bruxas
> foram queimadas na fogueira, até chegar nele. O típico caso de quebra
> dentro de biblioteca (Não, não era die()). No mesmo projeto também
> tinha uma biblioteca de logs, que matava aplicação, se não conseguisse
> mais gravar log. Como descobrimos isso? Lá pelas 4 da manhã de um fim
> de semana qualquer, enquanto o infeliz que fez a m&rd@ estava em casa
> sonhando com try/catch. Eu sempre disse para nunca colocar
> programadores java pra fazer trabalho de homem, mas...
>
> Quebrar a aplicação por causa de um exit, abort, e família numa
> biblioteca é inadmissível. Sim eu também fui infeliz ao utilizar a
> palavra módulo no sentido de biblioteca.
>
> Eu sou particularmente arcaico quando se fala de exceptions. Hoje em
> dia, é fácil achar em certos cursos de TI, carinha ensinando
>
> #!/usr/bin/perl
>
> eval {
> ...
> };
>
> $@ && print 'Foda viu'.$/
>
> No livro do Bjarne Stroustrup, The C++ Programming Language, capítulo
> 8, lá pela página 180, tem um exemplo de cunho didático que é
> constantemente extrapolado para o mundo real
>
> int main(int argc, char** argv){
>    try{
>        // Tente fazer qualquer coisa de qualquer jeito
>    }
>    catch(...) {
>        // Capture todas as exceções e salve a minha pele.
>    }
> }
>
>
> Só peço mais uma vez desculpas por viajar fora do contexto da thread.
>
> Abraços
>
>
> 2008/8/26 Luis Motta Campos <luismottacampos em yahoo.co.uk>:
> > Blabos de Blebe wrote:
> >>
> >> Eu nao afirmei que nao é pra tratar excecoes, muito pelo contrario.
> >> Agora chamar die de exception, é brincadeira. Voce tá me zuando, né!?
> >
> > Como sempre, RTFM. Do manual do perl (perldoc -f die):
> >
> > die LIST
> >  Outside an "eval", prints the value of LIST to "STDERR" and exits with
> the
> > current value of $! (errno).  If $! is 0, exits with the value of "($? >>
> > 8)" (backtick 'command' status).  If "($? >> 8)" is 0, exits with 255.
> >  Inside an "eval()," the error message is stuffed into $@ and the "eval"
> is
> > terminated with the undefined value.  *This* *makes* *"die"* *the* *way*
> > *to* *raise* *an* *exception*.
> >
> > Grifo meu.
> >
> > Sem comentários, Blabos. Não tem cerveja trapista para você da próxima
> vez
> > que eu for ao Brasil. ;)
> >
> > Putamplexos.
> > --
> > Luis Motta Campos is a software engineer,
> > Perl Programmer, foodie and photographer.
> > _______________________________________________
> > SaoPaulo-pm mailing list
> > SaoPaulo-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
> >
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
--Lindolfo "Lorn" Rodrigues
www.slackwarezine.com.br
http://lornlab.org
http://sao-paulo.pm.org
use Catalyst;
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080827/3b3ab18c/attachment.html>


More information about the SaoPaulo-pm mailing list