Да если бы. В случае с return я могу полнотекстовым поиском найти все места вызова этой функции, и понимать, что вернуться она может только в это место. В случае с throw я могу или пойти застрелиться, или перейти в компанию, которая не юзает исключения в их С++ коде.
Самый большой вопрос: вы узнали, что результат вызова функции сохранён в переменную для дальнейшей обработки не пойми где. Если бы это был корутиновый код, у вас был бы шанс, что вы отловите цепочки обработки конкретных данных отладчиком, потому что они идут подряд.