X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass.pm;h=7aba89577410c77921e2a180d9a66c1e22d07433;hb=20674fcd94984d0d2be09ecda7f3c22715468936;hp=5c5a64733a01c686dd8719250fb73140618b7270;hpb=a3356adbf416fd1a86f6f699ac76723b5da11bd4;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index 5c5a647..7aba895 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -11,6 +11,7 @@ use DBIx::Class::Optional::Dependencies; use vars qw($VERSION); use base qw/DBIx::Class::Componentised Class::Accessor::Grouped/; use DBIx::Class::StartupCheck; +use Try::Tiny; sub mk_classdata { shift->mk_classaccessor(@_); @@ -42,8 +43,14 @@ sub MODIFY_CODE_ATTRIBUTES { sub _attr_cache { my $self = shift; my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {}; - my $rest = eval { $self->next::method }; - return $@ ? $cache : { %$cache, %$rest }; + my $rest; + my $exception; + try { + $rest = $self->next::method; + } catch { + $exception = 1; + }; + return $exception ? $cache : { %$cache, %$rest }; } 1; @@ -384,6 +391,8 @@ wreis: Wallace Reis zamolxes: Bogdan Lucaciu +Possum: Daniel LeWarne + =head1 COPYRIGHT Copyright (c) 2005 - 2010 the DBIx::Class L and L