Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00%
1 / 1
100.00%
1 / 1
CRAP
100.00%
9 / 9
ResourceException
100.00%
1 / 1
100.00%
1 / 1
2
100.00%
9 / 9
 __construct($messageOrException = null , $code = null, \Exception $previous = null)
100.00%
1 / 1
2
100.00%
9 / 9
<?php
/* Copyright (c) 2012, Geert Bergman (geert@scrivo.nl)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of "Scrivo" nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* $Id: ResourceException.php 711 2013-07-04 12:05:36Z geert $
*/
/**
* Implementation of the \Scrivo\ResourceException class.
*/
namespace Scrivo;
/**
* Class to represent an error raised due failure of a server resource.
*
* PHP scripts typically run on a server where the make use of several
* server resources, for instance:
*
* * a database connection
* * the file system
* * executable commands
*
* Not to be able to use these resources will generally mean the termination
* of the script, as errors in the program logic do. You can use these errors
* to discriminate between resource exceptions, program logic exceptions and
* application exceptions to take appropriate action: f.i. notify the system
* admin, send out bug report or prompt the user for new input.
*/
class ResourceException extends \Exception {
/**
* Construct a \Scrivo\ResourceException. It is possible to create a
* \Scrivo\ResourceException based upon an existing exception:
*
* ....
* } catch (\PdoException $e) {
* trhow \Scrivo\ResourceException($e);
* }
*
* or use the standard exception parameters:
*
* ....
* } catch (\PdoException $e) {
* trhow \Scrivo\ResourceException("Message", 123, $e);
* }
*
* @param \Exception|string $messageOrException The error message or
* original exception.
* @param int $code Optional exception code if the first parameter was
* an error string, else not applicable.
* @param \Exception $previous Optional, the original exception if the
* first parameter was an error string, else not applicable.
*/
public function __construct($messageOrException = null , $code = null,
\Exception $previous = null) {
if ($messageOrException instanceof \Exception) {
parent::__construct($messageOrException->message,
0, $messageOrException);
$this->code = $messageOrException->code;
$this->file = $messageOrException->file;
$this->line = $messageOrException->line;
} else {
parent::__construct($messageOrException, $code, $previous);
}
}
}