WordPress.org

Make WordPress Core

Ticket #16782: 16782.patch

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