Предлагаю рассмотреть возможность, скажем через reflection или какой-нибудь класс debug, получать стек вызовов. Для целей отладки было бы очень полезно.
Можно, конечно, вставить в нужном месте throw и получить необходимое, но это подходит только для линейных случаев.