def convertError(sourceType, targetType):
    """
    Convert an error into a different error type.

    @param sourceType: The type of exception that should be caught and
        converted.
    @type sourceType: L{Exception}

    @param targetType: The type of exception to which the original should be
        converted.
    @type targetType: L{Exception}
    """
    try:
        yield None
    except sourceType:
        compat.reraise(targetType(), sys.exc_info()[-1])

    Convert an error into a different error type.

    @param sourceType: The type of exception that should be caught and
        converted.
    @type sourceType: L{Exception}

    @param targetType: The type of exception to which the original should be
        converted.
    @type targetType: L{Exception}
    
stackoverflow/venv/lib/python3.6/site-packages/twisted/protocols/haproxy/_exceptions.py