WordPress.org

Make WordPress Core

Ticket #16782: 16782.3.patch

File 16782.3.patch, 3.4 KB (added by hakre, 4 years ago)

Standard PHP Exception

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

    ### Eclipse Workspace Patch 1.0
    #P wordpress
     
    2424         * 
    2525         * @since 2.1.0 
    2626         * @var array 
    27          * @access private 
    2827         */ 
    29         var $errors = array(); 
     28        private $errors = array(); 
    3029 
    3130        /** 
    3231         * Stores the list of data for error codes. 
    3332         * 
    3433         * @since 2.1.0 
    3534         * @var array 
    36          * @access private 
    3735         */ 
    38         var $error_data = array(); 
     36        private $error_data = array(); 
    3937 
    4038        /** 
    4139         * PHP4 Constructor - Sets up error message. 
     
    5250         * @param string|int $code Error code 
    5351         * @param string $message Error message 
    5452         * @param mixed $data Optional. Error data. 
    55          * @return WP_Error 
     53         * @throws WP_Exception on missing code 
    5654         */ 
    57         function WP_Error($code = '', $message = '', $data = '') { 
     55        public function __construct($code = '', $message = '', $data = '') { 
    5856                if ( empty($code) ) 
    59                         return; 
    60  
    61                 $this->errors[$code][] = $message; 
    62  
    63                 if ( ! empty($data) ) 
    64                         $this->error_data[$code] = $data; 
     57                        throw new Exception( 'Code parameter is missing.' ); 
     58                 
     59                $this->add( $code, $message, $data ); 
    6560        } 
    6661 
    6762        /** 
    6863         * Retrieve all error codes. 
    6964         * 
    7065         * @since 2.1.0 
    71          * @access public 
    7266         * 
    7367         * @return array List of error codes, if avaiable. 
    7468         */ 
    75         function get_error_codes() { 
     69        public function get_error_codes() { 
    7670                if ( empty($this->errors) ) 
    7771                        return array(); 
    7872 
     
    8377         * Retrieve first error code available. 
    8478         * 
    8579         * @since 2.1.0 
    86          * @access public 
    8780         * 
    8881         * @return string|int Empty string, if no error codes. 
    8982         */ 
    90         function get_error_code() { 
     83        public function get_error_code() { 
    9184                $codes = $this->get_error_codes(); 
    9285 
    9386                if ( empty($codes) ) 
     
    10497         * @param string|int $code Optional. Retrieve messages matching code, if exists. 
    10598         * @return array Error strings on success, or empty array on failure (if using codee parameter). 
    10699         */ 
    107         function get_error_messages($code = '') { 
     100        public function get_error_messages($code = '') { 
    108101                // Return all messages if no code specified. 
    109102                if ( empty($code) ) { 
    110103                        $all_messages = array(); 
     
    131124         * @param string|int $code Optional. Error code to retrieve message. 
    132125         * @return string 
    133126         */ 
    134         function get_error_message($code = '') { 
     127        public function get_error_message($code = '') { 
    135128                if ( empty($code) ) 
    136129                        $code = $this->get_error_code(); 
    137130                $messages = $this->get_error_messages($code); 
     
    148141         * @param string|int $code Optional. Error code. 
    149142         * @return mixed Null, if no errors. 
    150143         */ 
    151         function get_error_data($code = '') { 
     144        public function get_error_data($code = '') { 
    152145                if ( empty($code) ) 
    153146                        $code = $this->get_error_code(); 
    154147 
     
    161154         * Append more error messages to list of error messages. 
    162155         * 
    163156         * @since 2.1.0 
    164          * @access public 
    165157         * 
    166158         * @param string|int $code Error code. 
    167159         * @param string $message Error message. 
    168160         * @param mixed $data Optional. Error data. 
    169161         */ 
    170         function add($code, $message, $data = '') { 
     162        public function add($code, $message, $data = '') { 
    171163                $this->errors[$code][] = $message; 
    172164                if ( ! empty($data) ) 
    173165                        $this->error_data[$code] = $data; 
     
    183175         * @param mixed $data Error data. 
    184176         * @param string|int $code Error code. 
    185177         */ 
    186         function add_data($data, $code = '') { 
     178        public function add_data($data, $code = '') { 
    187179                if ( empty($code) ) 
    188180                        $code = $this->get_error_code(); 
    189181