def raise_or_yield(
    ignore_exceptions: bool,
    e: BaseException,
    line: str
) -> tuple:
    """
    Return the exception object and line string if ignore_exceptions is
    True. Otherwise, re-raise the exception from the exception object with
    an annotation.
    """
    ignore_exceptions_msg = '... Use the ignore_exceptions option (-qq) to ignore streaming parser errors.'

    if not ignore_exceptions:
        e.args = (str(e) + ignore_exceptions_msg,)
        raise e

    return e, line