}
sub throw {
- my %args;
- if (@_ == 1) {
- $args{message} = shift;
- }
- else {
- %args = @_;
+ if (@_ % 2) {
+ unshift @_, 'message';
}
+ my %args = @_;
+
my $superclass = delete($args{superclass}) || 'Throwable::Error';
my $roles = delete($args{roles});
my $metaclass;
+ load_class($superclass);
+
if ($roles) {
$metaclass = Moose::Meta::Class->create_anon_class(
superclasses => [$superclass],