Допустим имеется следующий код (это не реальный код проекта а просто иллюстрация проблемы):
def some_function(src_data):
dst_data = 10
dst_type = type(dst_data)
return dst_data + (dst_type)(src_data)
Так вот, если dst_data - int, а в качестве src_data я передаю строку, содержащую вещественное число (например, “1.5”), то получаю эксепшен: ValueError: invalid literal for int() with base 10: ‘1.5’
И это понятно, но не понятно как поступить, чтобы преобразование все-таки было корректным.
Пока что вижу только один вариант - ловить эксепшен и проверять на выше приведенный кейс.
Что посоветуете?