Singularity
явные это как ?
Явные - это прямым вызовом проверяющих функций и сравнений.
пример выше написал
JOHN_16Чувствую, надо бы дать расширенное пояснение.
Сами по себе try-except, конечно, не есть зло.
Но нужно аккуратно с ними обращаться и понимать суть происходящего.
К тому же не всякая попытка преобразования выдаст исключение.
Например, float('nan') исключения не выдаст. А еще сюда можно написать определенные символы Юникода, которые исключения не вызовут тоже.
Когда исключения нельзя использовать?
Во время обучения (когда еще нет понимания что происходит внутри) и для простых проверок.
Судя по сообщению автора топика, этот как раз наш случай.
Появляется ли смысл использовать try-except когда проверок становится много или они становятся сложными? Все еще нет. Теперь самое время обратить внимание на модули валидации, коих полно в интернете.
Внутри этих модулей почти наверняка будут использоваться try-except.
Дело в другом - это еще не тот случай, когда пора писать свой велосипед.
Поэтому лучше использовать готовое решение.
И только тогда, когда вы вышли за пределы возможностей используемого модуля валидации данных, его можно расширить и в своем коде использовать try-except как минимум для унификации обработки таких ситуаций. Т.е. есть польза в долгосрочной перспективе в процессе поддержки проекта.