NoUriException added and implemented in FeedSub class

This is a specific exception for objects which require URI but lack it,
first implemented in FeedSub to allow for identification of bad entries.
This commit is contained in:
Mikael Nordfeldth 2014-05-19 17:13:32 +02:00
parent fc942f5a04
commit d2c749c7de
2 changed files with 43 additions and 1 deletions

42
lib/nouriexception.php Normal file
View File

@ -0,0 +1,42 @@
<?php
/**
* GNU social - a federating social network
*
* class for when an object that's supposed to have a URI is missing it
*
* PHP version 5
*
* LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Exception
* @package GNUsocial
* @author Mikael Nordfeldth <mmn@hethane.se>
* @copyright 2014 Free Software Foundation, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link https://www.gnu.org/software/social/
*/
if (!defined('GNUSOCIAL')) { exit(1); }
class NoUriException extends ServerException
{
var $object = null;
public function __construct(Managed_DataObject $object)
{
$this->object = $object;
$msg = get_class($object) . ' does not have a URI.';
parent::__construct($msg);
}
}

View File

@ -103,7 +103,7 @@ class FeedSub extends Managed_DataObject
public function getUri() public function getUri()
{ {
if (empty($this->uri)) { if (empty($this->uri)) {
throw new ServerException('No URI for FeedSub entry'); throw new NoUriException($this);
} }
return $this->uri; return $this->uri;
} }