Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
1

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

19.03.2013, 11:11. Показов 676. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2013, 11:11
Ответы с готовыми решениями:

Обработка пользовательских исключений
работаю с матрицами. создал пользовательский класс исключений, но не знаю теперь как их отловить ...

Обработка пользовательских исключений (Console Application)
День добрый, уважаемые форумчане! Прошерстила гугл, насколько смогла, но ответа на свой вопрос...

Обработка различных типов исключений
Здравствуйте, вопрос собственно касательно исключений. Есть например 2 исключения и например при...

Шаблон для пользовательских типов данных
В общем имееются две функции. Одна принимает тип данных string другая char. Функции выполняют одну...

1
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.03.2013, 11:27 2
Цитата Сообщение от ninja2 Посмотреть сообщение
Интересно правильно ли я понимаю, что бы создать другие исключения в классе, то просто добавляем другой новый вложенный класс?
да, но необязательно вложенный
Цитата Сообщение от ninja2 Посмотреть сообщение
По примеру из книги class Range пустой ничо в нем нету, определяется просто, я так понял для вылета, как метка, чтобы можно было понять какого типа произошла ошибка хз. так это или его нужно как, то еще и заполнить?
можно и заполнить, это дело добровольное, классы исключений ничем не отличаются от обычных классов

Цитата Сообщение от ninja2 Посмотреть сообщение
Ну можно конечно инициализировать объект как то но, что это нам даст?
исключения служат для передачи информации об ошибке с места её возникновения в место её обработки
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2013, 11:27

Возможно ли переопределение операторов для пользовательских типов?
Собственно преследуемая цель: Определить свой тип int - myint. Переопределить для него операторы...

Как работать с массивами в пользовательских классах?
есть программа для записи в класс Auto, но она ругается если я хочу записать в массив следующим...

Обработка исключений. Как организовать общий обработчик исключений?
У меня есть последовательность вызова методов для внесения данных в таблицу БД. Сам метод...

Один блок catch для двух типов исключений порожденных от одного класса
Товагищи!! Имеется задача с книги С. Прата с++11. Не могу реализовать следующее : Вот к чему...

Обработка исключений для new
Всем привет! Вопрос следующий. Когда функция new не может выделить память, то генериться...

Обработка исключений с пмощью структурированной обработки исключений
Есть функция, которая определенным образом работает с файлами,но при работе с файлами &quot;не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru