Index: src/wp-includes/meta.php
===================================================================
--- src/wp-includes/meta.php	(revision 37940)
+++ src/wp-includes/meta.php	(working copy)
@@ -1017,7 +1017,7 @@
 
 	/* translators: object type name */
 	if ( ! in_array( $object_type, array( 'post', 'comment', 'user', 'term' ) ) ) {
-		_doing_it_wrong( __FUNCTION__, sprintf( __( 'Invalid object type: %s.' ), $object_type ), '4.6.0' );
+		return new WP_Error( 'register_meta_failed', __( 'Meta can only be registered against a core object type.' ) );
 	}
 
 	$defaults = array(
@@ -1063,7 +1063,7 @@
 
 	// Object subtype is required if using the args style of registration
 	if ( ! $has_old_sanitize_cb && empty( $args['object_subtype'] ) ) {
-		return false;
+		return new WP_Error( 'register_meta_failed', __( 'Meta must be registered against an object subtype.' ) );
 	}
 
 	// If `auth_callback` is not provided, fall back to `is_protected_meta()`.
@@ -1097,7 +1097,7 @@
 		return true;
 	}
 
-	return false;
+	return new WP_Error( 'register_meta_failed', __( 'Sanitize and auth callbacks applied; meta not registered.' ) );
 }
 
 /**
@@ -1120,7 +1120,7 @@
 
 	// Only specific core object types are supported.
 	if ( ! in_array( $object_type, array( 'post', 'comment', 'user', 'term' ) ) ) {
-		return false;
+		return new WP_Error( 'invalid_meta_key', __( 'Invalid meta key. Not a core object type.' ) );
 	}
 
 	if ( ! isset( $wp_meta_keys[ $object_type ] ) ) {
