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

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

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

Exception Handling. Собственный класс для перехвата исключений - C++

05.09.2015, 14:36. Просмотров 217. Ответов 4
Метки нет (Все метки)

Помогите, пожалуйста, с данной задачей.

Задача:
Define an exception class called tornadoException. The class should have two constructors, including the default constructor. If the exception is thrown with the default constructor, the method what should return "Tornado: Take cover immediately!". The other constructor has a single parameter, say, m, of the int type. If the exception is thrown with this constructor, the method what should return "Tornado: m miles away; and approaching!" Write a C++ program to test the class tornadoException.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class tornadoException
 {
 public:
    tornadoException()
    {
        message = "Tornado: Take cover immediately!";
    }
    tornadoException(int m)
    {
        miles = m;
        message = "Tornado: ";
        cout <<  m << "miles away; and approaching!" << endl;
    }
    string what()
    {
        return message;
    }
 private:
    int miles;
    string message;
 };
 
int main()
 {  
    int distance;
 
    try
    {
        cout << "Enter distance";
        cin >> distance;
        cout << endl;
 
        if (distance == 0)
            throw tornadoException();
        
    }
    catch (tornadoException me)
    {
        cout << me.what() << endl;
    }
    
    
    system("pause");
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2015, 14:36     Exception Handling. Собственный класс для перехвата исключений
Посмотрите здесь:

C++ Собственный класс-итератор
Класс (объект) для перехвата сообщений своих окон C++
C++ Templates (composition). exception handling run-time error
Класс Стек Stack. не работает класс исключений C++
Собственный класс итератора C++
Реализуйте собственный класс строки C++
STL и собственный класс C++
Написать собственный класс для ввода и вывода строки, подсчета количества символов в строке C++
C++ класс исключений
C++ Обработка исключений (Exception)
Создание своего класса исключений, наследование std::exception C++
C++ Exception Handling Classes

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12501 / 7063 / 793
Регистрация: 27.09.2012
Сообщений: 17,447
Записей в блоге: 2
Завершенные тесты: 1
05.09.2015, 14:40     Exception Handling. Собственный класс для перехвата исключений #2
C++
1
2
3
4
5
6
7
8
9
    tornadoException() : miles(0) , message ("Tornado: Take cover immediately!")
    {
    }
    tornadoException(int m) : miles (m)
    {
        message = "Tornado: ";
        message += std::to_string( m ) ;
        message += " miles away; and approaching!" ;
    }
Rabbit
0 / 0 / 0
Регистрация: 05.09.2015
Сообщений: 45
05.09.2015, 14:50  [ТС]     Exception Handling. Собственный класс для перехвата исключений #3
Объясните пжл что неправильно.
А программа для тестирования правильно написана?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12501 / 7063 / 793
Регистрация: 27.09.2012
Сообщений: 17,447
Записей в блоге: 2
Завершенные тесты: 1
05.09.2015, 14:51     Exception Handling. Собственный класс для перехвата исключений #4
Цитата Сообщение от Rabbit Посмотреть сообщение
А программа для тестирования правильно написана?
C++
1
2
3
4
5
6
7
8
9
10
11
12
    try
    {
        cout << "Enter distance";
        cin >> distance;
        cout << endl;
 
        if (distance == 0)
            throw tornadoException();
        else
            throw tornadoException(distance);
        
    }
имхо, лучше наследоваться от std::exception со всеми вытекающими.
Rabbit
0 / 0 / 0
Регистрация: 05.09.2015
Сообщений: 45
05.09.2015, 15:11  [ТС]     Exception Handling. Собственный класс для перехвата исключений #5
Большое спасибо!
Yandex
Объявления
05.09.2015, 15:11     Exception Handling. Собственный класс для перехвата исключений
Ответ Создать тему
Опции темы

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