Я подозреваю, что у вас либо есть пустая строка, либо есть пробел в начале или конце, либо вы пишете в разделителях тысяч.
Вы можете указать методу Int32.Parse обрабатывать некоторыеиз этих случаев, подобных этому:
Int32.Parse(
" -12,340 ",
NumberStyles.AllowLeadingWhite |
NumberStyles.AllowThousands |
NumberStyles.AllowTrailingWhite |
NumberStyles.AllowLeadingSign,
CultureInfo.CurrentCulture));
Обратите внимание, что текущий бит культуры в конце важен, потому что разделитель тысяч будет отличаться в зависимости от культуры, для которой пользователь установил свой компьютер.
Это все равно не будет обрабатывать пустую строку - просто проверьте, пуста ли строка перед выполнением анализа.