Use throw_error() instead of confess()
[gitmo/Mouse.git] / lib / Mouse / Util.pm
index 30eea32..73e76ba 100644 (file)
@@ -9,6 +9,7 @@ our @EXPORT_OK = qw(
     get_linear_isa
     apply_all_roles
     get_code_info
+    not_supported
 );
 our %EXPORT_TAGS = (
     all  => \@EXPORT_OK,
@@ -198,6 +199,15 @@ sub apply_all_roles {
     return;
 }
 
+sub not_supported{
+    my($feature) = @_;
+
+    $feature ||= ( caller(1) )[3]; # subroutine name
+
+    local $Carp::CarpLevel = $Carp::CarpLevel + 2;
+    Carp::croak("Mouse does not currently support $feature");
+}
+
 1;
 
 __END__