Wrapping an Exception with context-management, using the with statement
This:

if some_result is None:
    with ResultException:
        logger.exception(error_msg)


would seem to be equivalent (for most cases) to:

if some_result is None:
    logger.exception(error_msg)
    raise ResultException


And so using a context manager as you describe it would not seem to be helpful. That's probably why you can't find any instances of it. But this would not actually work because when you call logger.exception, you need to be in an exception handler. 

You could do:

def raise_logged(exception):
    try:
         raise exception
    except: 
         logging.exception(str(exception))
         raise exception


Then use it like

 if some_result is None:
       raise_logged( ResultException("not so good") )


However, throwing the exception just to catch it and log it is a bit yucky. Do you really need to log the exception as this point? Usually, we log exceptions when they are caught.