Нет, нет. На самом деле, чтобы получить наиболее подходящий стек вызовов, у меня было бы что-то более похожее на приведенное ниже, где метод создает исключение, но мы throw
это локально:
if(condition)
throw BadUserData.CreateSomeFormOfException(... parameters...);
, который решает обе проблемы за один раз.
Другой более ленивый подход:
if(condition) {
// throws <===== comments are important here ;p
BadUserData.Throw(... parameters...);
}
return 0;