WordPress.org

Make WordPress Core

Ticket #16782: 16782.patch

File 16782.patch, 3.7 KB (added by hakre, 4 years ago)

First port with a new WP_Exception thrown in constructor as it can not return as written previously.

  • wp-includes/class-wp-error.php

     
    77 * @package WordPress 
    88 */ 
    99 
     10require_once( dirname(__FILE__).'/class-wp-exception.php' ); 
     11 
    1012/** 
    1113 * WordPress Error class. 
    1214 * 
     
    2426         * 
    2527         * @since 2.1.0 
    2628         * @var array 
    27          * @access private 
    2829         */ 
    29         var $errors = array(); 
     30        private $errors = array(); 
    3031 
    3132        /** 
    3233         * Stores the list of data for error codes. 
    3334         * 
    3435         * @since 2.1.0 
    3536         * @var array 
    36          * @access private 
    3737         */ 
    38         var $error_data = array(); 
     38        private $error_data = array(); 
    3939 
    4040        /** 
    4141         * PHP4 Constructor - Sets up error message. 
     
    5252         * @param string|int $code Error code 
    5353         * @param string $message Error message 
    5454         * @param mixed $data Optional. Error data. 
    55          * @return WP_Error 
     55         * @throws WP_Exception on missing code 
    5656         */ 
    57         function WP_Error($code = '', $message = '', $data = '') { 
     57        public function __construct($code = '', $message = '', $data = '') { 
    5858                if ( empty($code) ) 
    59                         return; 
     59                        throw new WP_Exception('Code is missing.'); 
    6060 
    6161                $this->errors[$code][] = $message; 
    6262 
     
    7272         * 
    7373         * @return array List of error codes, if avaiable. 
    7474         */ 
    75         function get_error_codes() { 
     75        public function get_error_codes() { 
    7676                if ( empty($this->errors) ) 
    7777                        return array(); 
    7878 
     
    8383         * Retrieve first error code available. 
    8484         * 
    8585         * @since 2.1.0 
    86          * @access public 
    8786         * 
    8887         * @return string|int Empty string, if no error codes. 
    8988         */ 
    90         function get_error_code() { 
     89        public function get_error_code() { 
    9190                $codes = $this->get_error_codes(); 
    9291 
    9392                if ( empty($codes) ) 
     
    104103         * @param string|int $code Optional. Retrieve messages matching code, if exists. 
    105104         * @return array Error strings on success, or empty array on failure (if using codee parameter). 
    106105         */ 
    107         function get_error_messages($code = '') { 
     106        public function get_error_messages($code = '') { 
    108107                // Return all messages if no code specified. 
    109108                if ( empty($code) ) { 
    110109                        $all_messages = array(); 
     
    131130         * @param string|int $code Optional. Error code to retrieve message. 
    132131         * @return string 
    133132         */ 
    134         function get_error_message($code = '') { 
     133        public function get_error_message($code = '') { 
    135134                if ( empty($code) ) 
    136135                        $code = $this->get_error_code(); 
    137136                $messages = $this->get_error_messages($code); 
     
    148147         * @param string|int $code Optional. Error code. 
    149148         * @return mixed Null, if no errors. 
    150149         */ 
    151         function get_error_data($code = '') { 
     150        public function get_error_data($code = '') { 
    152151                if ( empty($code) ) 
    153152                        $code = $this->get_error_code(); 
    154153 
     
    167166         * @param string $message Error message. 
    168167         * @param mixed $data Optional. Error data. 
    169168         */ 
    170         function add($code, $message, $data = '') { 
     169        public function add($code, $message, $data = '') { 
    171170                $this->errors[$code][] = $message; 
    172171                if ( ! empty($data) ) 
    173172                        $this->error_data[$code] = $data; 
     
    183182         * @param mixed $data Error data. 
    184183         * @param string|int $code Error code. 
    185184         */ 
    186         function add_data($data, $code = '') { 
     185        public function add_data($data, $code = '') { 
    187186                if ( empty($code) ) 
    188187                        $code = $this->get_error_code(); 
    189188 
  • wp-includes/class-wp-exception.php

     
     1<?php 
     2/** 
     3 * WordPress Error API. 
     4 * 
     5 * Contains the WP_Exception class and the is_wp_exception() function. 
     6 * 
     7 * @package WordPress 
     8 */ 
     9class WP_Exception extends Exception {} 
     10 
     11function is_wp_exception($object) { 
     12        return is_subclass_of($object, 'WP_Exception'); 
     13} 
     14 
     15?> 
     16 No newline at end of file