You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
13 years ago
|
<?php
|
||
|
/**
|
||
|
* @link http://www.yiiframework.com/
|
||
12 years ago
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
||
13 years ago
|
* @license http://www.yiiframework.com/license/
|
||
|
*/
|
||
|
|
||
12 years ago
|
namespace yii\web;
|
||
|
|
||
|
use yii\base\UserException;
|
||
|
use yii\web\Response;
|
||
13 years ago
|
|
||
|
/**
|
||
|
* HttpException represents an exception caused by an improper request of the end-user.
|
||
|
*
|
||
|
* HttpException can be differentiated via its [[statusCode]] property value which
|
||
|
* keeps a standard HTTP status code (e.g. 404, 500). Error handlers may use this status code
|
||
|
* to decide how to format the error page.
|
||
|
*
|
||
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
||
|
* @since 2.0
|
||
|
*/
|
||
12 years ago
|
class HttpException extends UserException
|
||
13 years ago
|
{
|
||
|
/**
|
||
|
* @var integer HTTP status code, such as 403, 404, 500, etc.
|
||
|
*/
|
||
|
public $statusCode;
|
||
|
|
||
|
/**
|
||
|
* Constructor.
|
||
|
* @param integer $status HTTP status code, such as 404, 500, etc.
|
||
|
* @param string $message error message
|
||
|
* @param integer $code error code
|
||
12 years ago
|
* @param \Exception $previous The previous exception used for the exception chaining.
|
||
13 years ago
|
*/
|
||
12 years ago
|
public function __construct($status, $message = null, $code = 0, \Exception $previous = null)
|
||
13 years ago
|
{
|
||
|
$this->statusCode = $status;
|
||
12 years ago
|
parent::__construct($message, $code, $previous);
|
||
13 years ago
|
}
|
||
12 years ago
|
|
||
|
/**
|
||
|
* @return string the user-friendly name of this exception
|
||
|
*/
|
||
|
public function getName()
|
||
|
{
|
||
12 years ago
|
if (isset(Response::$httpStatuses[$this->statusCode])) {
|
||
|
return Response::$httpStatuses[$this->statusCode];
|
||
12 years ago
|
} else {
|
||
12 years ago
|
return 'Error';
|
||
12 years ago
|
}
|
||
12 years ago
|
}
|
||
13 years ago
|
}
|