ВУЗ:
Составители:
Рубрика:
115
Console.WriteLine("Такие матрицы перемножить
нельзя из-за неправильных размеров");
}
}
Используя иерархию классов-исключений, все виды ошибок можно
обработать универсальным образом с помощью только одного обработчика
catch типа ссылки на объект базового класса:
. . .
try
{
// в этом фрагменте кода может возникнуть исключение
// некорректных размеров при создании матрицы и при
// перемножении двух матриц
Matrix x, y, z;
x = new Matrix(2, 3);
y = new Matrix(3, 4);
x.InputMatrix();
y.InputMatrix();
z = x * y;
z.OutputMatrix();
}
catch (MatrixException ex)
{
// общий обработчик исключений-наследников
// класса MatrixException
// вызов метода обработки исключения того класса,
// которому принадлежит объект ex
ex.ExceptionHandler();
}
. . .
В зависимости от возникающей ошибки согласно принципу
полиморфизма ссылка на базовый класс будет указывать на объект
производного класса, соответствующего типу ошибки. Тогда в обработчике
catch будет вызываться метод ExceptionHandler() именно этого
класса.
Console.WriteLine("Такие матрицы перемножить
нельзя из-за неправильных размеров");
}
}
Используя иерархию классов-исключений, все виды ошибок можно
обработать универсальным образом с помощью только одного обработчика
catch типа ссылки на объект базового класса:
. . .
try
{
// в этом фрагменте кода может возникнуть исключение
// некорректных размеров при создании матрицы и при
// перемножении двух матриц
Matrix x, y, z;
x = new Matrix(2, 3);
y = new Matrix(3, 4);
x.InputMatrix();
y.InputMatrix();
z = x * y;
z.OutputMatrix();
}
catch (MatrixException ex)
{
// общий обработчик исключений-наследников
// класса MatrixException
// вызов метода обработки исключения того класса,
// которому принадлежит объект ex
ex.ExceptionHandler();
}
. . .
В зависимости от возникающей ошибки согласно принципу
полиморфизма ссылка на базовый класс будет указывать на объект
производного класса, соответствующего типу ошибки. Тогда в обработчике
catch будет вызываться метод ExceptionHandler() именно этого
класса.
115
Страницы
- « первая
- ‹ предыдущая
- …
- 113
- 114
- 115
- 116
- 117
- …
- следующая ›
- последняя »
