Carpa :: clan

Informe de errores de la perspectiva de la persona que llama de un "clan" de los módulos
Descargar ahora

Carpa :: clan Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Steffen Beyer
  • Sitio web del editor:
  • http://search.cpan.org/~stbey/

Carpa :: clan Etiquetas


Carpa :: clan Descripción

Informar errores desde la perspectiva de la persona que llama de un "clan" de los módulos Carp :: Clan es un módulo Perl basado en "carp.pm" de Perl 5.005_03. Se ha modificado para omitir todos los nombres de los paquetes que coincidan con el patrón dado en la instrucción "Uso" dentro del "QW ()" Término (o la lista de argumentos) .Supuesto que tiene una familia de módulos o clases llamadas "Pack :: A", "Paquete :: B", y así sucesivamente, y cada uno de ellos usa "Carp :: Clan QW (^ Pack: :)" (o al menos aquel en el que se eleva el error o la advertencia) .Thus cuando, por ejemplo, su script "Tool.PL" llama Módulo "Pack :: A", and Module "Pack :: Un" Módulo de llamadas ":: B ", una excepción planteada en el módulo" Pack :: B "aparecerá originarse en" tool.pl "donde se llamó" Paquete :: A ", y no en" Pack :: A "donde" Pack :: B "Se llamó, como la" Carp.PM "no modificada intentaría hacerte creer :-). Esto funciona de manera similar si" Pack :: B "llama" Pack :: C "donde se eleva la excepción, etc.En otras palabras. , esto culpa a todos los errores en los módulos "Pack :: *" en el usuario de estos módulos, es decir, en usted. ;-) El salto de un clan (o familia) de paquetes de acuerdo con un patrón que describe a sus miembros es necesario en los casos en que estos módulos no sean clases derivadas entre sí (y, por lo tanto, al examinar @isa, como en la carpa original ". PM "Módulo - no ayuda). El propósito y la ventaja de esto es que un" clan "de módulos puede trabajar juntos (y llamarse entre sí) y tirar excepciones a varias profundidades en la jerarquía de llamadas y aún aparecen como un bloque monolítico (Como si fueran un solo módulo) desde la perspectiva de la persona que llama. Mensajes o advertencias para que parezcan originarse desde donde se llamó su módulo (esto es lo que usualmente solía "usar la carpa;" para ;-)), en lugar de en su propio módulo (que es lo que puede hacer con un "die" o "Advierte" de todos modos), no necesita proporcionar un patrón, el módulo proporcionará automáticamente el correcto para Y Ou.I.E., solo "Usa la carpa :: clan;" Sin ningún argumento y llame "carpa" o "croak", según corresponda, ¡y defenderán automáticamente su módulo contra todas las cultas! En otras palabras, un patrón solo es necesario si desea hacer varios módulos (más de uno) trabajar juntos y Aparecen como si solo fueran uno. Forzar una pila de traceas una ayuda de depuración, puedes forzar la "Carpa :: clan" para tratar un "croak" como "confesar" y una "carpa" como "cluck". En otras palabras, forzar un rastro detallado de pila a darse. Esto puede ser muy útil cuando se trata de entender por qué, o desde dónde, se está generando una advertencia o error. Esta función está habilitada "Importando" el símbolo inexistente 'verboso', o al configurar la variable global "$ carpa :: Clan :: verbose "a un valor verdadero. Típicamente lo habrías permitido diciendo que use la carpa :: Clan QW (verbose); Tenga en cuenta que ambos pueden especificar un" Patrón de la familia "y la cadena" verbosa "dentro del" QW () "Término (o lista de argumentos) de la declaración" Uso ", pero considere que un patrón de paquetes para saltar es inútil cuando" verbose "causa una traza de pila completa de todos modos.Synopsis carpa - Advierte de errores (desde la perspectiva de la persona que llama) Cluck - Advertencia de errores con croak de trazado de pila - Muere de errores (desde la perspectiva de la persona que llama) Confess - Muere de errores con la pila de trazado de pila Uso de la carpa :: Clan QW (^ MyClan: :); Croak "¡Estamos fuera de aquí!"; Usa la carpa :: clan; Confiesa "¡Así es como llegamos aquí!"; Requisitos: · Perl ¿Qué hay de nuevo en este lanzamiento: · Esta versión resuelve un problema con la información sobre el tipo de licencia, y hace que la suite de prueba sea compatible con las versiones PERL antes de 5.6.0.


Carpa :: clan Software relacionado