Свое исключение в C#
Ошибку можно передать наружу объектом. Оператор throw
прерывает обычный ход и несет этот объект. Блок
catch его ловит.
Свой класс ошибки наследуют от Exception.
Текст передают в base через конструктор.
Запишем AppError:
class AppError : Exception {
public AppError(string message) : base(message) {
}
}
Пример: AppError, бросим его и поймаем в catch:
try {
throw new AppError("bad value");
} catch (AppError err) {
Console.WriteLine(err.Message);
}
Сделайте класс RangeError,
наследующий Exception,
бросьте его с текстом "out of range"
и выведите сообщение в catch.