Форум программистов, компьютерный форум, киберфорум
Наши страницы

Обработка исключений в классах для пользовательских типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление интергала, но входные данные сначала считываются из файла, а выходные наоборот в него записываются. Подскажите пожалуйста как это сделать http://www.cyberforum.ru/cpp-beginners/thread812488.html
Заранее спасибо за помощь.) #include<iostream> #include<conio.h> #include <stdio.h> #include <cmath> using namespace std; float f2(float x){ return sin(exp(x)); }
C++ Mayers S. vs C++11 standard Привет, ребят! У Майерса читал: для предоставления виртуальной функции реализации по умолчанию, которой нужно пользоваться по явному требованию наследующего и переопределяющего виртуальную функцию... http://www.cyberforum.ru/cpp-beginners/thread812481.html
Численное дифф-ние многочленом третьей степени C++
Было дано задание реализовать Численное дифференцирование с помощью многочлена третьей степени на C++. Я, кажется, смогла понять общий принцип, но на стадии реализации приключился ступор. ...
C++ Вращение окружностей вокруг определенного центра
Всем доброго времени и суток! Как сделать вращающиеся окружности вокруг центра? Рисунок есть. Не могу понять как задать цикл вращения... Версия 4.9.9.2 Dev-C++#include<conio.h>...
C++ из L- ой строки вычесть K- ую умноженную на a(LK)/a(KK) http://www.cyberforum.ru/cpp-beginners/thread812463.html
помогите пожалуйста написать программу."заданы матрица А размером 4*4 и числа K и L (K!=L;1<=K;L<4).из L строки вычесть K умноженную на a(LK)/a(KK) ."в с++ Borland
C++ Массив: Переместить в массив Y все числа, дробная часть которых больше 5. Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все числа, дробная часть которых больше 5. Вывести на экран... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Обработка исключений в классах для пользовательских типов - C++

19.03.2013, 11:11. Просмотров 397. Ответов 1
Метки (Все метки)

Здорова господа!
Запустил токо класс String тестю и тут у меня вылетело исключение выход за пределы индекса,
и программа тупо аварийно остановилась
В классе String, Range это вложенный класс для исключения выход за пределы индекса.
я попробовал обработать это исключение и записал код:
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
try
{
  //...
  vuletaet icklyuchenie Range
  //...
}
catch(String::Range& a)
{
  cout <<"Crabotalo Range"<<endl;
}
Вроде все сработало при выходе за пределы индекса catch(String::Range& a) ловит исключение и выводит строку.

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

По примеру из книги class Range пустой ничо в нем нету, определяется просто, я так понял для вылета, как метка, чтобы можно было понять какого типа произошла ошибка хз. так это или его нужно как, то еще и заполнить? Ну можно конечно инициализировать объект как то но, что это нам даст?

Ну и вообще правильно ли так обрабатывать исключения , новый класс - новое исключение?

п.с. Да скорее всего правильно ведь это ж сам гуру Страуструп код писал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru