Index: src/wp-includes/class-wp-error.php
===================================================================
--- src/wp-includes/class-wp-error.php	(revision 31075)
+++ src/wp-includes/class-wp-error.php	(working copy)
@@ -59,10 +59,7 @@
 		if ( empty($code) )
 			return;
 
-		$this->errors[$code][] = $message;
-
-		if ( ! empty($data) )
-			$this->error_data[$code] = $data;
+		$this->add( $code, $message, $data );
 	}
 
 	/**
@@ -222,8 +219,20 @@
 	 */
 	public function add($code, $message, $data = '') {
 		$this->errors[$code][] = $message;
+
 		if ( ! empty($data) )
 			$this->error_data[$code] = $data;
+
+		if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
+			/**
+			 * Fires when an error is added to a WP_Error object.
+			 *
+			 * @since 4.1.0
+			 *
+			 * @param WP_Error $this The WP_Error instance.
+			 */
+			do_action( 'add_wp_error', $this );
+		}
 	}
 
 	/**
