Очевидная возможность, которая приходит на ум, в том, что цифра равна нулю.
Нужно проверить трассировку стека в исключении и посмотреть, какая строка его выбрасывает. Получаете ли вы исключение по вызову или оно происходит изнутри функции? Если последнее, вы вернетесь к ответу Аарона: одним из параметров может быть объект с нулевым членом. Или, может быть, где-то внутри обработки, функция создает нулевой объект из-за ошибки своих или неправильных входных данных. (Невозможность проверить входные данные, возможно, является ошибкой в любом случае, но неважно.)
У вас есть исходный код? Если это так, вы можете найти строку, которую идентифицирует трассировка стека. Если нет, вы работаете вслепую, и лучшее, что вы можете сделать, это тщательно проверить все ваши параметры.