Объектно-ориентированное программирование на С#. Андрианова А.А - 114 стр.

UptoLike

114
Рис.6.7. Иерархия исключений, возникающих при работе с матрицами
// абстрактный базовый класс иерархии исключений с
// единственным абстрактным методом обработки исключения
abstract class MatrixException : Exception
{
abstract public void ExceptionHandler();
}
Приведем также вид одного из классов-наследников:
// класс-исключение о нарушении размеров матриц
// при их перемножении
class DimensionProductException : MatrixException
{
Matrix ob1, ob2;
// конструктор класса-исключения
public DimensionProductException(Matrix a, Matrix b)
{
ob1 = a; ob2 = b;
}
// переопределенный абстрактный метод обработки исключения
public override void ExceptionHandler()
{
Console.WriteLine("Сделана попытка
перемножения матриц:");
ob1.OutputMatrix();
Console.WriteLine();
ob2.OutputMatrix();
        Рис.6.7. Иерархия исключений, возникающих при работе с матрицами


      // абстрактный базовый класс иерархии исключений с
      // единственным абстрактным методом обработки исключения
      abstract class MatrixException : Exception
      {
         abstract public void ExceptionHandler();
      }

       Приведем также вид одного из классов-наследников:

      // класс-исключение о нарушении размеров матриц
      // при их перемножении
      class DimensionProductException : MatrixException
      {
         Matrix ob1, ob2;

         // конструктор класса-исключения
         public DimensionProductException(Matrix a, Matrix b)
         {
            ob1 = a; ob2 = b;
         }

        // переопределенный абстрактный метод обработки исключения
        public override void ExceptionHandler()
        {
           Console.WriteLine("Сделана попытка
                                     перемножения матриц:");
           ob1.OutputMatrix();
           Console.WriteLine();
           ob2.OutputMatrix();

114