Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

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

19.03.2013, 11:11. Просмотров 382. Ответов 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 пустой ничо в нем нету, определяется просто, я так понял для вылета, как метка, чтобы можно было понять какого типа произошла ошибка хз. так это или его нужно как, то еще и заполнить? Ну можно конечно инициализировать объект как то но, что это нам даст?

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

п.с. Да скорее всего правильно ведь это ж сам гуру Страуструп код писал
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 11:11     Обработка исключений в классах для пользовательских типов
Посмотрите здесь:
Шаблон для пользовательских типов данных C++
Возможно ли переопределение операторов для пользовательских типов? C++
C++ Как работать с массивами в пользовательских классах?
C++ Один блок catch для двух типов исключений порожденных от одного класса
C++ Обработка исключений для new
Обработка исключений с пмощью структурированной обработки исключений C++
C++ Создание пользовательских типов
C++ Преобразование пользовательских типов
C++ Преобразование пользовательских типов
Приведение пользовательских типов C++
C++ Преобразование типов данных в классах
C++ Несовпадение типов и отлов этих исключений

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

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

Цитата Сообщение от ninja2 Посмотреть сообщение
Ну можно конечно инициализировать объект как то но, что это нам даст?
исключения служат для передачи информации об ошибке с места её возникновения в место её обработки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru