Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Better error messages from Moo?

by szabgab (Priest)
on Jun 15, 2013 at 13:02 UTC ( #1039117=perlquestion: print w/ replies, xml ) Need Help??
szabgab has asked for the wisdom of the Perl Monks concerning the following question:

With this module:
package Person; use Moo; has name => (is => 'rw', required => 1); 1;
this script:
use Person; my $anonymous = Person->new;
generates this error:
Missing required arguments: name at (eval 13) line 30.
Is there a way to get better error messages from Moo? Maybe with the correct filename and line number of the caller?

Comment on Better error messages from Moo?
Select or Download Code
Re: Better error messages from Moo?
by poj (Priest) on Jun 15, 2013 at 13:45 UTC
    Adding use Carp::Always to the script generates error :
    Missing required arguments: name at (eval 13) line 30. Person::new('Person') called at test2.pl line 6
    poj
Re: Better error messages from Moo?
by tobyink (Abbot) on Jun 15, 2013 at 15:55 UTC

    File it as a bug report on the Moo RT. It should certainly be feasible; Moo could keep track of the line has occurs on, then use this when evaling the constructor. I've been doing some work on improving Moo exceptions thrown from isa and coerce in the last couple of weeks, so I'd be happy to add required to the list.

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name
      Actually I already sent a patch for Moo to MST using Carp::croak() instead of die(), and he already rejected it.

        That's because that wouldn't actually have been an improvement.

        What tobyink is working on will be.

        -- mst

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2014-12-27 19:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls