Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 5
1

Обработка исключений

15.06.2016, 11:40. Просмотров 338. Ответов 2
Метки нет (Все метки)


Нужно описать класс исключения и программу, способную генерировать и обрабатывать исключение (должна содержать блоки try, catch, throw). Исключение: Ввод пользователем отрицательного возраста.

вот есть программа. но как создать именно класс исключения?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    try
    {
        int a;
        cout << "\nEnter age: ";
        cin >> a;
        if (a < 0) throw a;
    }
    catch (int&)
    {
        cout << "\nAge can not be negative!\n";
        //return 0;
    }
    cout << "\nCorrect!\n";
    _getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2016, 11:40
Ответы с готовыми решениями:

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

Обработка исключений
Объясните мне толком для чего используются эти обработки исключений (Try, catch, throw). Сколько...

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

Обработка исключений
класс B является производным от абстрактного класса А. Определить обработчик исключительной...

2
129 / 101 / 58
Регистрация: 26.10.2013
Сообщений: 306
15.06.2016, 12:03 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
class InvalidAge : public std::exception
{
public:
    virtual const char* what() const noexcept override
    { return "Age is less than 0"; }
}; // class InvalidAge
 
int main()
{
    try
    {
        int a;
        std::cout << "Enter age: ";
        std::cin >> a;
        if (a < 0)
            throw InvalidAge();
        std::cout << "Correct!\n";
    }
    catch (const InvalidAge &ex)
    {
       std::cout << ex.what() << std::endl;
    }
    return 0;
}
Класс InvalidAge можешь доработать, как тебе хочется.
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 5
15.06.2016, 12:06  [ТС] 3
Спасибо большое за помощь!

А что это строка значит? virtual const char* what() const noexcept override
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2016, 12:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Обработка исключений
Доброго времени суток. Использую RAD XE 4. Пытаюсь поймать исключения путем catch(Exeption...

Обработка исключений
Нужно сделать ввод часов и минут с клавиатуры и сгенерировать исключения в мейне. как понимаю...

Обработка исключений
Добрый день! Столкнулся с такой проблемой. У меня есть класс class MyClass { public: ...

Обработка исключений
Все функции должны реализоваться в 4-х вариантах: без спецификации исключений; со спецификацией...


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

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

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