+sub handle_error {
+ my($self, $object) = @_;
+
+ # these are used as Rose internal canaries, don't wrap them
+ die $object->error if UNIVERSAL::isa($object->error, 'Rose::DB::Object::Exception');
+
+ SL::X::DBRoseError->throw(
+ db_error => $object->error,
+ class => ref($object),
+ metaobject => $self,
+ object => $object,
+ );
+}
+