<?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; } }