develooper Front page | perl.moose | Postings from June 2011

Moose Type Constraints violations to warnings?

Thread Next
From:
Ovid
Date:
June 10, 2011 03:06
Subject:
Moose Type Constraints violations to warnings?
Message ID:
179149.90149.qm@web65716.mail.ac4.yahoo.com
When I declare a parameter as follows:


    has 'some_val' => (
        is  => 'rw',
        isa => 'Int',
    );
 
Later if I do $object->some_value("foobar"), it blows up with a stack trace because of the type constraint violation.

Without using signal handlers, is there some way I can convert that exception into a warning except when something like $ENV{HARNESS_ACTIVE} is true? Preferably on a per-attribute basis?

Backstory for those who care: we're actually using Mouse instead of Moose and the company may decide to eliminate Mouse. Currently the odds of upgrading to Moose are roughly zero (not my decision), so if there's a solution using Moose but it does not work with Mouse, we may just have Mouse eliminated entirely and not get Moose, either (long story).

So if we have a hotel whose "short description" is missing or longer than 200 characters, we can live with that, but we can't live with an invalid price. We're happy to clean up bad information but we don't want type constraints to throw out *everything* just because someone goofed (often an external data source we have little control over). Part of the reason management is very unhappy with our use of Mouse is because of these type constraints causing application failure we've never had in the past. We much prefer to bend rather than break.

Cheers,
Ovid

--
Live and work overseas - http://overseas-exile.blogspot.com/
Buy the book           - http://www.oreilly.com/catalog/perlhks/
Tech blog              - http://blogs.perl.org/users/ovid/
Twitter                - http://twitter.com/OvidPerl/

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About