def abort(status_code, detail='', headers=None, comment=None, **kw):

    # If there is a traceback, we need to catch it for a re-raise
    try:
        _, _, traceback = sys.exc_info()
        webob_exception = exc.status_map[status_code](
            detail=detail,
            headers=headers,
            comment=comment,
            **kw
        )

        if six.PY3:
            raise webob_exception.with_traceback(traceback)
        else:
            # Using exec to avoid python 3 parsers from crashing
            exec('raise webob_exception, None, traceback')
    finally:
        # Per the suggestion of the Python docs, delete the traceback object
        del traceback
Layout has been clicked
dataset/ETHPy150Open pecan/pecan/pecan/core.py/abort--crossover with--dataset/ETHPy150Open rwl/muntjac/muntjac/event/layout_events.py/ILayoutClickListener.layoutClick