Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Custom error messages and moose

by remiah (Hermit)
on Sep 29, 2012 at 11:57 UTC ( #996367=note: print w/ replies, xml ) Need Help??


in reply to Custom error messages and moose

Do you show me your error message? if I return undef to isa 'Str' attribute, I will see like this.

Attribute (ip_address) does not pass the type constraint because: Validation failed for 'Str' with value undef at reader test::ip_address (defined at 069.pl line 7) line 15
	test::ip_address('test=HASH(0x284a2320)') called at 069.pl line 35

Or, Is there some reason you can't die like this ?
sub get_ip_address { my $self = shift; my $allclasses_file = $self->allclasses_file; my $ip_address; if ( $allclasses_file =~ m/_([^_]+$)/ ) { $ip_address = $1; return $ip_address; } else { die "not good ip\n"; } }


Comment on Re: Custom error messages and moose
Download Code
Replies are listed 'Best First'.
Re^2: Custom error messages and moose
by neilwatson (Curate) on Sep 29, 2012 at 12:09 UTC
    There is pretty verbose:
    Use of uninitialized value $ip in gethostbyaddr at /home/neil/perl5/li +b/perl5/Evolvethinking/Unicorn.pm line 67, <FH> line 1. Attribute (fqhn) does not pass the type constraint because: Validation + failed for 'Str' with value undef at /home/neil/perl5/lib/perl5/x86_ +64-linux-thread-multi/Mouse/Util.pm line 383, <FH> line 1. Mouse::Util::throw_error('Mouse::Meta::Attribute=HASH(0x20342d +0)', 'Attribute (fqhn) does not pass the type constraint because: V.. +.', 'data', undef, 'depth', -1) called at /home/neil/perl5/lib/perl5/ +Evolvethinking/Unicorn.pm line 78 Unicorn::insert_record('Unicorn=HASH(0x20d3308)') called at /h +ome/neil/bin/p1.pl line 30

    Yes, I can put a die or warn in the sub but, I'm wondering if there is a more Moose like way.

    Neil Watson
    watson-wilson.ca

      If you set Environment variable MOOSE_ERROR_STYLE with

      export MOOSE_ERROR_STYLE=croak
      
      , you can cut confess style backtrace output.

      There seems to be discussion for error handling of Moose. I have no further experience for this. regards.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996367]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (9)
As of 2015-07-08 05:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (94 votes), past polls