Объектно-ориентированное программирование на C++. Андрианова А.А - 140 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
cout << "a+b=" << d << endl;
}
catch(char* s)
{
cout << s << endl;
}
catch(int i)
{
if(i == 1)
cout << "Размеры матриц должны совпадать"
<< endl;
}
. . .
Теперь продемонстрируем другой подход, основанный на иерархии
классов исключений, который избавляет нас от необходимости
обрабатывать каждый тип исключения в отдельности.
Иерархия классов исключений может быть представлена в
следующем виде:
Рис.9. Иерархия исключений, возникающих при работе с матрицами.
При таком представлении классов-исключений достаточно создать
обработчик только для исключения базового типа. Универсальная
обработка исключений-наследников производится с помощью
применения принципа полиморфизма и переопределения виртуальных
функций.
Базовый класс иерархии класс Exception является
абстрактным. В нем объявляется виртуальная функция, которая
140
                               Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
           cout << "a+b=" << d << endl;
      }
      catch(char* s)
      {
           cout << s << endl;
      }
      catch(int i)
      {
           if(i == 1)
                cout << "Размеры матриц должны совпадать"
                                                       << endl;
      }
      .    .    .

    Теперь продемонстрируем другой подход, основанный на иерархии
классов исключений, который избавляет нас от необходимости
обрабатывать каждый тип исключения в отдельности.
    Иерархия классов исключений       может быть представлена в
следующем виде:




        Рис.9. Иерархия исключений, возникающих при работе с матрицами.

    При таком представлении классов-исключений достаточно создать
обработчик только для исключения базового типа. Универсальная
обработка   исключений-наследников   производится   с   помощью
применения принципа полиморфизма и переопределения виртуальных
функций.
    Базовый класс иерархии – класс Exception – является
абстрактным. В нем     объявляется виртуальная функция, которая

140