#
# Deliberately *NOT* using is_exception - if someone left a misbehaving
# antipattern value in $@, it's not our business to whine about it
- if( defined $@ and length $@ ) {
- weaken(
- $guard->{existing_exception_ref} = (length ref $@) ? $@ : \$@
- );
- }
+ weaken(
+ $guard->{existing_exception_ref} = (length ref $@) ? $@ : \$@
+ ) if( defined $@ and length $@ );
$storage->txn_begin;
$@ = $current_exception
if DBIx::Class::_ENV_::UNSTABLE_DOLLARAT;
+
+ # Dummy NEXTSTATE ensuring the all temporaries on the stack are garbage
+ # collected before leaving this scope. Depending on the code above, this
+ # may very well be just a preventive measure guarding future modifications
+ undef;
}
1;