throw как раз означает, что произошла ошибка. А в строке внутри throw пишут, что за ошибка. И в stack trace сразу видно, в какой функции и в каком месте произошла ошибка.

А если вы вызываете еще одну функцию только для того, чтобы бросить эксепшен, в стактрейсе это вызывает недоумение.