Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
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"; } }

Replies are listed 'Best First'.
Re^2: Custom error messages and moose
by neilwatson (Priest) 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?
LanX where is the camera?
Tux => $HOME
[Eily]: you wrote boos instead of boss, and jedikaiti read that as boobs :)
[LanX]: Win claims only 8 MB left on C: how do I find out where the problem happens?
[Eily]: by Tux. And going home sounds like a good idea
[Eily]: LanX pretty much everywhere except in 8MB ?
[Eily]: s/by/bye/ someone hacked my keyboard I'm sure
[LanX]: good point! :)
[Eily]: LanX I don't understand the question though, you want to know what is taking so much space?
[Tanktalus]: Probably the swapfile :)

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (13)
As of 2017-09-20 16:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (237 votes). Check out past polls.

    Notices?