ВУЗ:
Составители:
Рубрика:
27
няла попытки исправления ситуации, когда вызванная программа не смогла с
этим справиться.
Доведем этот образец до реально работающего кода, где угроза исключе-
ния зависит от значения генерируемого случайного числа, а обработчик исклю-
чения может изменять границы интервала, повышая вероятность успеха.
Определим первым делом собственный класс исключений:
public class MyException : Exception
{
public MyException()
{
}
public MyException(string message) : base(message)
{
}
public MyException(string message, Exception e) : base(message, e)
{
}
}
Минимум того, что нужно сделать, определяя свои исключения, – это за-
дать три конструктора класса, вызывающие соответствующие конструкторы ба-
зового класса Exception.
В классе Excepts, методом которого является наш образец Pattern, опреде-
лим следующие поля класса:
private Random rnd = new Random();
private int level = -10;
private bool Success; //true – нормальное завершение
private int count = 1; // число попыток выполнения
private const int maxcount = 3;
Определим теперь методы, вызываемые в теле охраняемого блока:
private void MakeJob()
{
Console.WriteLine("Подготовительные работы завершены");
}
private bool CheckDanger()
{
//проверка качества и возможности продолжения работ
int low = rnd.Next(level, 10);
if (low > 6) return (false);
return (true);
}
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »