Типы исключений в C#
У каждого исключения есть тип. В catch
указывают именно тип, чтобы реагировать на
конкретную проблему. FormatException
возникает, когда int.Parse не может
прочитать текст как число:
try {
Console.WriteLine(int.Parse("12x"));
} catch (FormatException) {
Console.WriteLine("invalid number");
}
DivideByZeroException появляется при
делении целого на ноль через переменную:
int x = 10;
int y = 0;
try {
Console.WriteLine(x / y);
} catch (DivideByZeroException) {
Console.WriteLine("bad division");
}
KeyNotFoundException сигнализирует,
что в Dictionary нет запрошенного ключа:
Dictionary<string, int> dct = new() { ["a"] = 1 };
try {
Console.WriteLine(dct["z"]);
} catch (KeyNotFoundException) {
Console.WriteLine("no key");
}
Дана строка input со значением "9q".
В try вызовите int.Parse(input).
В catch (FormatException) выведите "format".
string input = "9q";