49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
|
<?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;
|
||
|
}
|
||
|
}
|