WordPress.org

Make WordPress Core

Ticket #16782: 16782.3.patch

File 16782.3.patch, 3.4 KB (added by hakre, 7 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