Не перехватывать исключения , но использовать int.TryParse()
: ничего исключение при вводе пользователем (пользователь может ввести любую строку, и это ожидается от имени пользователя)).
if (int.TryParse(Console.ReadLine(), out int IloscPracownikow)) {
// User input - Console.ReadLine() - is a valid integer (IloscPracownikow)
object age = IloscPracownikow;
...
}
else {
// User input - Console.ReadLine() - is NOT a valid integer
Console.WriteLine("Podaj liczbe, debilu");
...
}
Если вы настаиваете на перехвате исключений, вы должны поместить потенциальный источник исключений (который Int32.Parse
) в try {...}
try {
// Possible FormatException throw (if user input is not a valid integer)
int IloscPracownikow = Int32.Parse(Console.ReadLine());
// and this will never throw FormatException
object age = IloscPracownikow;
Console.WriteLine("Podaj rok zalozenia firmy.");
// Possible FormatException throw
int Rok = Int32.Parse(Console.ReadLine());
listaFirm.Add(new Firma(NazwaFirmy, IloscPracownikow, Rok));
}
catch (FormatException) {
// either IloscPracownikow or Rok is invalid
Console.WriteLine("Podaj liczbe, debilu");
}