human
Give me a the Python code you requested given the following:
Complete the below
def excview_tween_factory(handler, registry):

    ''''A :term:`tween` factory which produces a tween that catches an
    exception raised by downstream tweens (or the main Pyramid request
    handler) and, if possible, converts it into a Response using an
    :term:`exception view`.
    .. versionchanged:: 1.9
    The ``request.response`` will be remain unchanged even if the tween
    handles an exception. Previously it was deleted after handling an
    exception.
    Also, ``request.exception`` and ``request.exc_info`` are only set if
    the tween handles an exception and returns a response otherwise they
    are left at their original values.'
    '''
assistant
#Here is the Python code you requested.
    def excview_tween(request):
        try:
            response = handler(request)
        except Exception as exc:
            response = _error_handler(request, exc)
        return response
    return excview_tween