forked from GNUsocial/gnu-social
		
	Added two exception classes: one for client errors (= user can fix) and one for server errors (only admin or coder can fix). The web entry point now tries to catch exceptions and show them in the browser. The main code for showing errors in Action class now throws an exception and lets top-level handle it.
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Laconica, the distributed open-source microblogging tool
 | |
|  *
 | |
|  * class for a server exception (user error)
 | |
|  *
 | |
|  * 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   Laconica
 | |
|  * @author    Evan Prodromou <evan@controlyourself.ca>
 | |
|  * @copyright 2008 Control Yourself, Inc.
 | |
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 | |
|  * @link      http://laconi.ca/
 | |
|  */
 | |
| 
 | |
| if (!defined('LACONICA')) {
 | |
|     exit(1);
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Class for server exceptions
 | |
|  *
 | |
|  * Subclass of PHP Exception for server errors. The user typically can't fix these.
 | |
|  *
 | |
|  * @category Exception
 | |
|  * @package  Laconica
 | |
|  * @author   Evan Prodromou <evan@controlyourself.ca>
 | |
|  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 | |
|  * @link     http://laconi.ca/
 | |
|  */
 | |
| 
 | |
| class ServerException extends Exception
 | |
| {
 | |
|     public function __construct($message = null, $code = 400) {
 | |
|         parent::__construct($message, $code);
 | |
|     }
 | |
| 
 | |
|     public function __toString() {
 | |
|         return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
 | |
|     }
 | |
| }
 |