* @since 2.0 */ class HttpException extends UserException { /** * @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 * @param \Exception $previous The previous exception used for the exception chaining. */ public function __construct($status, $message = null, $code = 0, \Exception $previous = null) { $this->statusCode = $status; parent::__construct($message, $code, $previous); } /** * @return string the user-friendly name of this exception */ public function getName() { // use absolute namespaced class here because PHP will generate a mysterious error otherwise if (isset(\yii\web\Response::$httpStatuses[$this->statusCode])) { return \yii\web\Response::$httpStatuses[$this->statusCode]; } else { return 'Error'; } } }