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

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

Войти
Регистрация
Восстановить пароль
 
ivan92
0 / 0 / 1
Регистрация: 30.01.2013
Сообщений: 188
#1

Исключения и проверка ввода - C++

07.12.2013, 15:51. Просмотров 506. Ответов 3
Метки нет (Все метки)

Вот прочитал вчера много всего про исключения в с++, посмотрел несколько видеоуроков, все равно никак не пойму, какой выигрыш от исключений. Допустим мне надо проверить, чтобы пользователь вводил в консоль числа от 1-5, никаких других символов не должно поступать. Без использования механизма try-throw-catch я бы сделал в цикле этот ввод(пока не введет нормальное значение просить вводить заново). А с исключением мы что сделаем? Сгенерируем исключительную ситуацию, потом передадим управление в catch, ну а дальше что? В общем объясните, пожалуйста, новичку, как грамотно работать с этими исключениями.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исключения и проверка ввода (C++):

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

Visual C++ проверка ввода на число, проверка на кирилицу - C++
Суть ввести с клавиатуры нечто, и повторять ввод до тех пор пока введенное число не будет числом. Этот код проверяет на буквы и знаки,...

Проверка входных данных: вызов и обработка исключения - C++
Всем привет. Не могу разобраться с проверкой входных данных. Нужно чтобы если я ввел какой либо символ вместо числа возбуждалось...

Исключения. Проверка на правильность введения целого числа - C++
Надо сделать в программе несколько исключений. Одно из них должно срабатывать если вместо числа(int) будет введено число с точкой(float,...

Проверка ввода - C++
Как можно проверить вводимые данные, являются ли они числом. Допустим если ввели "08098рррр9" - запросить повторный ввод, а если "43543"...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,412
Записей в блоге: 3
Завершенные тесты: 1
07.12.2013, 15:58 #2
Цитата Сообщение от ivan92 Посмотреть сообщение
я бы сделал в цикле этот ввод(пока не введет нормальное значение просить вводить заново)
так и делайте. Исключения нужны для действительно исключительных ситуаций.
0
ivan92
0 / 0 / 1
Регистрация: 30.01.2013
Сообщений: 188
07.12.2013, 19:40  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
так и делайте. Исключения нужны для действительно исключительных ситуаций.
А как же ситуация, если на cin>>a, где а - int, пользователь введет "abc". Все скомпилируется, но при таком вводе программа выдаст ошибку о необработанном исключении.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 19:49 #4
Цитата Сообщение от ivan92 Посмотреть сообщение
А как же ситуация, если на cin>>a, где а - int, пользователь введет "abc"
Это сделайте:
Цитата Сообщение от ivan92 Посмотреть сообщение
Без использования механизма try-throw-catch я бы сделал в цикле этот ввод(пока не введет нормальное значение просить вводить заново).
, тогда исключения не понадобятся. Неправильный ввод и без исключений можно обработать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2013, 19:49
Привет! Вот еще темы с ответами:

Проверка ввода - C++
Здравствуйте, помогите, пожалуйста, написать функцию для обработки неправильного ввода символов. Программа для высчитывания логических...

gets() проверка ввода - C++
возникло слабое звено в программке ... max_length = 100; line = new char; ... gets(line); ... вопрос такой: как...

Проверка ввода - C++
Доброго вам времени суток. Бывалые, подскажите неопытному, как лучше писать? И если несложно, то скажите почему. for(;;) { ...

Проверка ввода - C++
Всем привет. Прошу обясните мне как зделать проверку вводимых даных. Мне нужно к примеру задать числовой масив типа (int). Как зделать так...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.12.2013, 19:49
Ответ Создать тему
Опции темы

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