David Shiko
Тогда это 2ой вариант, и уже выходит дисскуссия, т.к. у вас разногласие с другим советчиком
Дык эта... код не видно, логика приложения в тумане. Мы же тут мысли читать не умеем.
Общепитонский подход писания функций такой: есть, что вернуть - возвращай, нет, бросай исключение.
Можешь наделать свои исключения из чьих-то готовых.
Дальше просто:
Функции выше или ловят исключения или прога умирает.
Если у тебя 100500 проверок, то нет смысла после каждой проверять, что там. Если хоть одна бросила исключение, всё, нет смысла продолжать.
Если у тебя условный типа get_user() может вернуть None и, внимание, это нормально, то тогда возвращай нон. Если это ненормально, возвращай только корректные данные, а если не можешь, кидай исключение. Пусть его там наверху ловят.
Такие дела.