Поднять исключение из более высокого уровня, а-ля предупреждения

В модуле предупреждения (https://docs.python.org/3.5/library/warnings.html) есть возможность поднять предупреждение, которое появляется откуда-то раньше в стеке:

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

Есть ли эквивалент для поднятия ошибок? Я знаю, что могу выдать ошибку с альтернативной трассировкой, но я не могу создать эту трассировку в модуле, так как она должна появиться раньше. Я представляю что-то вроде:

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

Причина в том, что я разрабатываю модуль, который имеет функциюmodule.check_raise что я хочу вызвать ошибку, которая возникает из-за того, где вызывается функция. Если я подниму ошибку вmodule.check_raise функция, кажется, происходит изнутриmodule.check_raise, что нежелательно.

Кроме того, я пробовал такие приемы, как создание фиктивного исключения, его перехват и прохождение трассировки, но каким-то образом tb_next становитсяNone, У меня нет идей.

Редактировать:

Я хотел бы вывод этого минимального примера (называется tb2.py):

import check_raise

check_raise.raise_if_string_is_true('True')

быть только этим:

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.

Ответы на вопрос(3)

Ваш ответ на вопрос