woothemes/woocommerce

View on GitHub
includes/legacy/api/v3/class-wc-api-exception.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 * WooCommerce API Exception Class
 *
 * Extends Exception to provide additional data
 *
 * @author      WooThemes
 * @category    API
 * @package     WooCommerce\RestApi
 * @since       2.2
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

class WC_API_Exception extends Exception {

    /** @var string sanitized error code */
    protected $error_code;

    /**
     * Setup exception, requires 3 params:
     *
     * error code - machine-readable, e.g. `woocommerce_invalid_product_id`
     * error message - friendly message, e.g. 'Product ID is invalid'
     * http status code - proper HTTP status code to respond with, e.g. 400
     *
     * @since 2.2
     * @param string $error_code
     * @param string $error_message user-friendly translated error message
     * @param int $http_status_code HTTP status code to respond with
     */
    public function __construct( $error_code, $error_message, $http_status_code ) {
        $this->error_code = $error_code;
        parent::__construct( $error_message, $http_status_code );
    }

    /**
     * Returns the error code
     *
     * @since 2.2
     * @return string
     */
    public function getErrorCode() {
        return $this->error_code;
    }
}