<?php
/**
* Part of the Joomla Framework Database Package
*
* @copyright Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Database\Exception;
/**
* Exception class defining an error executing a statement
*
* @since 1.5.0
*/
class ExecutionFailureException extends \RuntimeException
{
/**
* The SQL statement that was executed.
*
* @var string
* @since 1.5.0
*/
private $query;
/**
* Construct the exception
*
* @param string $query The SQL statement that was executed.
* @param string $message The Exception message to throw. [optional]
* @param integer $code The Exception code. [optional]
* @param ?\Exception $previous The previous exception used for the exception chaining. [optional]
*
* @since 1.5.0
*/
public function __construct($query, $message = '', $code = 0, ?\Exception $previous = null)
{
// PDO uses strings for exception codes, PHP forces numeric codes, so "force" the string code to be used
parent::__construct($message, 0, $previous);
$this->code = $code;
$this->query = $query;
}
/**
* Get the SQL statement that was executed
*
* @return string
*
* @since 1.5.0
*/
public function getQuery()
{
return $this->query;
}
}