ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
cout << "Размерности суммируемых матриц должны
совпадать" << endl;
}
};
// класс исключения несоответствия размеров,
// возникающего при умножении матриц
class DimensionProductException : public Exception
{
public:
void ShowMessage()
{
cout << "Количество столбцов первой матрицы
должно совпадать с количеством строк
второй матрицы" << endl;
}
};
// класс исключения, возникающего при вычислении обратной
// матрицы - деление на определитель, равный 0.
class ZeroDivideException : public Exception
{
public:
void ShowMessage()
{
cout << "Деление на 0" << endl;
}
};
Каждый класс исключений может содержать дополнительную
информацию о возникшей ошибке. Например, в классе
DimensionSumException могут храниться размеры суммируемых
матриц. Далее их можно использовать для вывода сообщения,
содержащего информацию об ошибке, возникающей при сложении двух
матриц. В этом случае класс-исключение должен содержать конструктор
с параметрами, инициализирующий эти элементы.
Классы-исключения могут содержать и другие методы, которые
позволяют, если не устранить ошибку, то хотя бы предотвратить ее
влияние на последующий ход выполнения программы (корректное
освобождение ресурсов, занимаемых объектом, присвоение переменным
объекта корректных значений и пр.).
Теперь, имея иерархию исключений, наследуемых от базового класса
Exception, можно изменить тип генерируемых исключений:
// генерация исключения в операции умножения матриц
142
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
cout << "Размерности суммируемых матриц должны
совпадать" << endl;
}
};
// класс исключения несоответствия размеров,
// возникающего при умножении матриц
class DimensionProductException : public Exception
{
public:
void ShowMessage()
{
cout << "Количество столбцов первой матрицы
должно совпадать с количеством строк
второй матрицы" << endl;
}
};
// класс исключения, возникающего при вычислении обратной
// матрицы - деление на определитель, равный 0.
class ZeroDivideException : public Exception
{
public:
void ShowMessage()
{
cout << "Деление на 0" << endl;
}
};
Каждый класс исключений может содержать дополнительную
информацию о возникшей ошибке. Например, в классе
DimensionSumException могут храниться размеры суммируемых
матриц. Далее их можно использовать для вывода сообщения,
содержащего информацию об ошибке, возникающей при сложении двух
матриц. В этом случае класс-исключение должен содержать конструктор
с параметрами, инициализирующий эти элементы.
Классы-исключения могут содержать и другие методы, которые
позволяют, если не устранить ошибку, то хотя бы предотвратить ее
влияние на последующий ход выполнения программы (корректное
освобождение ресурсов, занимаемых объектом, присвоение переменным
объекта корректных значений и пр.).
Теперь, имея иерархию исключений, наследуемых от базового класса
Exception, можно изменить тип генерируемых исключений:
// генерация исключения в операции умножения матриц
142
Страницы
- « первая
- ‹ предыдущая
- …
- 140
- 141
- 142
- 143
- 144
- …
- следующая ›
- последняя »
