final public function createRecordset(
        string $query,
        string $overrideEntity = '',
        array $overrideKeys = [],
        array $overrideTypes = []
    ): Recordset {
        try {
            $recordset = new Recordset($this);
            $recordset->query($query, $overrideEntity, $overrideKeys, $overrideTypes);
        } catch (\Throwable $exception) {
            throw new QueryException('Unable to create a valid Recordset', $query, 0, $exception);
        }
        return $recordset;
    }
final public function createRecordset(
        string $query,
        string $overrideEntity = '',
        array $overrideKeys = [],
        array $overrideTypes = []
    ): Recordset {
        try {
            $recordset = new Recordset($this);
            $recordset->query($query, $overrideEntity, $overrideKeys, $overrideTypes);
        } catch (\Throwable $exception) {
            throw new QueryException('Unable to create a valid Recordset', $query, 0, $exception);
        }
        return $recordset;
    }
final public function createRecordset ( string $ query , string $ overrideEntity = '' , array $ overrideKeys = [ ] , array $ overrideTypes = [ ] ) : Recordset { try { $ recordset = new Recordset ( $ this ) ; $ recordset -> query ( $ query , $ overrideEntity , $ overrideKeys , $ overrideTypes ) ; } catch ( \ Throwable $ exception ) { throw new QueryException ( 'Unable to create a valid Recordset' , $ query , 0 , $ exception ) ; } return $ recordset ; }
This is an strict mode of queryRecordset but throws an exception instead of return FALSE

@param string $query
@param string $overrideEntity
@param array $overrideKeys
@param array $overrideTypes
@see DBAL::queryRecordset()
@throws QueryException if some error occurs when creating the Recordset object or getting the page
@return Recordset
This is an strict mode of queryRecordset but throws an exception instead of return FALSE