Выбрасывание исключения в C#
Сбой можно вызвать самим через throw.
Выражение после throw - объект исключения.
В учебнике используют готовый тип
ArgumentException с сообщением
в конструкторе:
throw new ArgumentException("bad value");
Проверку аргумента удобно завершать выбросом, если правило нарушено:
void RequireEven(int n) {
if (n % 2 != 0) {
throw new ArgumentException("even only");
}
Console.WriteLine(n);
}
try {
RequireEven(3);
} catch (ArgumentException ex) {
Console.WriteLine("rejected");
}
Текст из конструктора доступен в catch
через ex.Message. Сообщения в коде
пишите на английском. Пример:
try {
throw new ArgumentException("not positive");
} catch (ArgumentException ex) {
Console.WriteLine(ex.Message);
}
Создайте функцию PrintIfPositive с
параметром n. Для n <= 0
выбросьте new ArgumentException("not positive").
Иначе выведите n.