/**
  * Constructs the exception with the erroneous query
  *
  * @param string $query
  * @param string $message [optional] The Exception message to throw.
  * @param int $code [optional] The Exception code.
  * @param \Exception $previous [optional] The previous exception used for the exception chaining. Since 5.3.0
  */
 public function __construct($query = 'NOT PROVIDED', $message = '', $code = 0, \Exception $previous = null)
 {
     $message = sprintf($this->message, $query);
     parent::__construct($message, $code, $previous);
 }