| Classe :: Error. Classe :: Erro oferece verificação atrasada de falha de objeto. |
Baixe Agora |
Classe :: Error. Classificação e resumo
- Licença:
- Perl Artistic License
- Nome do editor:
- Domizio Demichelis
- Site do editor:
- http://search.cpan.org/~domizio/CGI-Application-Plus-1.21/lib/CGI/Application/CheckRM.pm
Classe :: Error. Tag
Classe :: Error. Descrição
Classe :: Erro oferece verificação de falha de objeto. Classe :: Erro oferece verificação atrasada de falha do objeto.synopsis pacote meu :: pacote; Use Classe :: Erro; $ undef_obj = class :: error-> novo (erro $, $ errnum) $ undef_obj-> any_method; # não vai morrer e retornará $ undef_obj Imprimir 'é falso' a menos que $ undef_obj; # 'é falso' imprimir "$ undef_obj"; # '' com aviso "uso de # valor não inicializado em string ..." Imprimir $ undef_obj-> any_method; # '' com o mesmo aviso $ vazio_obj = class :: error-> novo (erro $, $ errnum, '') $ vazio_obj-> any_method; # não vai morrer e retornará $ vazio_obj Imprimir 'é falso' a menos que $ vazio_obj; # 'é falso' imprimir "$ vazio_obj"; # '' Não avisos imprimir $ vazio_obj-> any_method; # '' Não advertingsyou pode usar este módulo para retornar um objeto de classe :: em vez de um valor falso simples (por exemplo, quando um sub ou uma propriedade pode retornar um objeto ou o valor undef em falha). Que recurso permite verificar o objeto em si ou atrasar a verificação depois de chamar qualquer método no objeto. $ OBJ = Anyclass-> Novo ou Die $ Obj-> Anyclass-> New-> Any_Method ou Die Classe :: Erro-> Erro # Staticfor exemplo, compare a diferença entre o comportamento de obj_a e obj_b se o anyclass-> novo retornaria false: use objeto :: adesivos ({nome => 'obj_a', default => sub {anyclass-> new ou undef}}, {nome => 'obj_b', default => sub {anyclass-> novo ou Classe :: Error-> Novo ('Anyclass-> New Failed')}}); # Se Anyclass-> novo falharia (retornando um valor falso) # Isto morreria "Não é possível chamar o método" any_method "em um valor indefinido ..." $ s-> obj_a-> any_method ou "warn" fazendo algo senão...'; do_something_elese ()}; # Mas isso executaria a {} block $ s-> obj_b-> any_method ou {warn 'fazendo outra coisa ...'; do_something_elese ()}; Requisitos: · Versão Perl> = 5.6.1
Classe :: Error. Software Relacionado