Carpa :: Clan.

Relatar erros da perspectiva do chamador de um "clã" de módulos
Baixe Agora

Carpa :: Clan. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Steffen Beyer
  • Site do editor:
  • http://search.cpan.org/~stbey/

Carpa :: Clan. Tag


Carpa :: Clan. Descrição

Reportar erros de perspectiva do chamador de um "clã" de módulos Carpa :: Clan é um módulo Perl baseado em "carp.pm" de Perl 5.005_03. Foi modificado para pular todos os nomes de pacotes que correspondem ao padrão dado na instrução "Uso" dentro do termo "QW ()" do termo (ou argumento) .SupPose você tem uma família de módulos ou classes denominadas "Pack :: A", "Pack :: B" e assim por diante, e cada um deles usa "Carpa :: Clan QW (^ Pack :);" (ou pelo menos aquele em que o erro ou aviso é levantado) .thus quando, por exemplo, o script "tool.pl" chama o módulo "Pack :: A" e módulo "Pack :: Um" Chamadas "Pack" Chamadas :: B ", uma exceção levantada no módulo" Pack :: B "parecerá ter se originado em" Tool.pl ", onde" Pack :: A "foi chamado, e não em" Pack :: A "Where" Pack :: B "foi chamado, como o" carp.pm "não modificado tentaria fazer você acreditar :-). Isso funciona similarmente se" Pack :: B "chama" Pack :: C ", onde a exceção é levantada, etc. , Isso culpa todos os erros nos módulos "Pack :: *" sobre o usuário desses módulos, ou seja, em você. ;-) O salto de um clã (ou família) de pacotes de acordo com um padrão descrevendo seus membros é necessário nos casos em que esses módulos não são classes derivados um do outro (e, portanto, ao examinar o @isa - como na carpa original ". PM "módulo - não ajuda). O propósito e vantagem disso é que um" clã "de módulos pode trabalhar juntos (e ligar um ao outro) e jogar exceções em várias profundidades na hierarquia de chamadas e ainda aparecer como um bloco monolítico (como se fossem um único módulo) a partir da perspectiva do chamador.No caso você só quer afastar todas as mensagens de erro do módulo em que você "usa carpa :: clan", ou seja, se você quiser fazer todo erro Mensagens ou avisos para parecer se originar de onde seu módulo foi chamado (é isso que você costumava usar "use carpa;" para ;-)), em vez de no seu módulo (que é o que você pode fazer com um "morrer" ou "avisar" de qualquer maneira), você não precisa fornecer um padrão, o módulo fornecerá automaticamente o correto para y ou.i.e., apenas "use carpa :: clan;" Sem quaisquer argumentos e chamar "carpa" ou "croak" conforme apropriado, e eles defenderão automaticamente seu módulo contra todas as culpa! Em outras palavras, um padrão é necessário apenas se você quiser fazer vários módulos (mais de um) trabalhar juntos e Parece que eles eram apenas um. Forçando uma pilha Traceas Uma ajuda de depuração, você pode forçar "Carpa :: Clã" para tratar um "croak" como um "confesso" e uma "carpa" como "cluck". Em outras palavras, force um traço de pilha detalhada a ser dado. Isso pode ser muito útil ao tentar entender por que, ou de onde, um aviso ou erro está sendo gerado. Este recurso é ativado por "importando" o símbolo inexistente 'verboso', ou definindo a variável global "$ carpa" :: Clan :: Verbose "para um verdadeiro valor. Você normalmente iria habilitá-lo dizendo Uso Carpa :: Clan QW (Verbose); Note que você pode especificar um" padrão de família "e a string" verbosa "dentro do" QW ". (ou lista de argumentos) da instrução "Uso", mas considere que um padrão de pacotes para pular é inútil quando "verboso" causa um traço completo de pilha de qualquer maneira. Cluck - Aviso de erros com pilha de backtrace Croak - morrer de erros (de perspectiva do chamador) Confess - morrer de erros com pilha de backtrace Use Carpa :: Clan QW (^ Myclan :); croak "estamos fora aqui!"; Use Carpa :: Clã; Confesse "é assim que chegamos aqui!"; Requisitos: · Perl. O que há de novo nesta versão: · Esta versão resolve um problema com a informação sobre o tipo de licença e torna o teste de teste compatível com versões perl anteriores a 5.6.0.


Carpa :: Clan. Software Relacionado