Crie uma exceção de um nível superior, a la warnings

Nos avisos do módulo (https://docs.python.org/3.5/library/warnings.html) existe a capacidade de gerar um aviso que parece vir de algum lugar anterior na pilha:

warnings.warn('This is a test', stacklevel=2)

Existe um equivalente para gerar erros? Sei que posso gerar um erro com um traceback alternativo, mas não consigo criá-lo no módulo, pois ele precisa vir mais cedo. Eu imagino algo como:

tb = magic_create_traceback_right_here()
raise ValueError('This is a test').with_traceback(tb.tb_next)

O motivo é que estou desenvolvendo um módulo que tem uma funçãomodule.check_raise que eu quero gerar um erro que parece se originar de onde a função é chamada. Se eu gerar um erro dentro domodule.check_raise função, parece originar-se de dentromodule.check_raise, que é indesejável.

Além disso, tentei truques como criar uma exceção fictícia, capturá-la e transmitir o rastreio, mas de alguma forma o tb_next se tornaNone. Estou sem idéias.

Editar:

Gostaria da saída deste exemplo mínimo (chamado tb2.py):

import check_raise

check_raise.raise_if_string_is_true('True')

para ser apenas isso:

Traceback (most recent call last):
  File "tb2.py", line 10, in <module>
    check_raise.raise_if_string_is_true(string)
RuntimeError: An exception was raised.

questionAnswers(3)

yourAnswerToTheQuestion