class XPtrException(Exception):

    SYNTAX_ERROR = 1
    RESOURCE_ERROR = 2
    SUB_RESOURCE_ERROR = 3

    def __init__(self, code, extra=None):
        # args ::= (code, object?)?
        msg = en_US.g_errorMessages[code]
        if extra:
            msg = msg + '\n' + str(extra)
        Exception.__init__(self, msg)
        self.code = code
        self.msg = msg

import en_US
