mirror of
https://github.com/friendica/friendica
synced 2025-04-28 03:50:17 +00:00
Introduce a "DatabaseException" class for fatal exceptions (used in testmode to throw an exception in case of DB errors)
This commit is contained in:
parent
0f3e4255ca
commit
3587e89482
2 changed files with 46 additions and 29 deletions
39
src/Database/DatabaseException.php
Normal file
39
src/Database/DatabaseException.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Friendica\Database;
|
||||
|
||||
use Exception;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* A database fatal exception, which shouldn't occur
|
||||
*/
|
||||
class DatabaseException extends Exception
|
||||
{
|
||||
protected $query;
|
||||
|
||||
/**
|
||||
* Construct the exception. Note: The message is NOT binary safe.
|
||||
*
|
||||
* @link https://php.net/manual/en/exception.construct.php
|
||||
*
|
||||
* @param string $message The Database error message.
|
||||
* @param int $code The Database error code.
|
||||
* @param string $query The Database error query.
|
||||
* @param Throwable $previous [optional] The previous throwable used for the exception chaining.
|
||||
*/
|
||||
public function __construct(string $message, int $code, string $query, Throwable $previous = null)
|
||||
{
|
||||
parent::__construct($message, $code, $previous);
|
||||
$this->query = $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return sprintf('Database error %d "%s" at "%s"', $this->message, $this->code, $this->query);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue