To bude zrejme spôsobené tým, že vstupný reťazec nemá správny formát. Vôbec nikde tam neošetruješ nesprávny vstup od používateľa, takže to jednoducho spadne. Keďže si nepísal, že čo to má robiť v prípade, ak niekto napíše do niektorého poľa číslo v nesprávnom formáte, tak nikto ani nenapísal kód, ktorý by to nejako ošetroval.
Keď budeš ošetrovať vstup používateľa, tak zrejme využiješ metódu int.TryParse namiesto konverzie pomocou Convert.ToInt32 a následného odchytávania výnimky FormatException.