def __init__(self, text, default_rule=None):
try:<EOL><INDENT>super().__init__(text, default_rule)<EOL><DEDENT>except ParserError as ex:<EOL><INDENT>if not getattr(self, '<STR_LIT>', False) and ex.original_exception.expr.name == '<STR_LIT>':<EOL><INDENT>DebugDataQLParser(text, default_rule)<EOL><DEDENT>raise<EOL><DEDENT>
Override to try to get better error message.

        Below an example of the better message

        Example
        -------

        # First with a parser that will not try to get a better error message
        >>> query = 'foo {bar::baz}'
        >>> class WillNotDebugParser(DataQLParser):
        ...     debugging = True  # Will not try to debug, because marked as debugging
        >>> WillNotDebugParser(query) # doctest: +ELLIPSIS
        Traceback (most recent call last):
        dataql...ParserError:...line 1, column 5...text begins with: "{bar::baz}"

        # Now with a parser that will try to get a better error message
        >>> DataQLParser(query) # doctest: +ELLIPSIS
        Traceback (most recent call last):
        dataql...ParserError:...line 1, column 10...text begins with: ":baz}"