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

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

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Как бросать эти исключения? - C++

14.12.2012, 13:24. Просмотров 431. Ответов 6
Метки нет (Все метки)

C++
1
throw popOnEmpty();
,
C++
1
throw pushOnFull(Value);
. Что нибудь надо выше заинкладить/написать? Что именно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.12.2012, 13:26     Как бросать эти исключения? #2
taras atavin, А теперь расскажи, что это за исключения такие?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.12.2012, 13:37  [ТС]     Как бросать эти исключения? #3
Пустой и полный стек. Если они дико не стандартные, то что надо написать?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.12.2012, 13:43     Как бросать эти исключения? #4
taras atavin, Эм. Классы создать, производные от наиболее подходящего стандартного класса исключений
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
14.12.2012, 13:44     Как бросать эти исключения? #5
А почему, собственно, они должны быть "дико нестандартные"? Унаследуй их от runtime_error (ведь это же ошибки периода исполнения, не так ли?) или от range_error, и они станут вполне себе стандартными.
C++
1
2
3
4
5
6
7
8
#include <stdexcept>
 
class popOnEmpty: public runtime_error { ... };
class pushOnFull: public runtime_error { ... };
 
throw popOnEmpty("Stack is empty, cannot pop!");
 
throw pushOnFull("Stack is full!", Value);
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.12.2012, 13:45  [ТС]     Как бросать эти исключения? #6
Цитата Сообщение от ForEveR Посмотреть сообщение
taras atavin, Эм. Классы создать, производные от наиболее подходящего стандартного класса исключений
А как?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 13:52     Как бросать эти исключения?
Еще ссылки по теме:

C++ как работают эти 4 функции
C++ Как правильно обрабатывать исключения в приложении на базе графического движка?
Как правильно вызывать исключения? C++
Как создавать информативные исключения? C++
Может ли функция бросать смешенные типы данных C++

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

Или воспользуйтесь поиском по форуму:
Пaтрик
 Аватар для Пaтрик
395 / 388 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
14.12.2012, 13:52     Как бросать эти исключения? #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class popOnEmpty : public std::runtime_error
{
public:
    explicit popOnEmpty(const std::string& message)
        : std::runtime_error(message.c_str())
    {
    }
 
    explicit popOnEmpty(const char *message)
        : std::runtime_error(message)
    {
    }
};
 
/*    */
throw popOnEmpty("Stack is empty");
Yandex
Объявления
14.12.2012, 13:52     Как бросать эти исключения?
Ответ Создать тему
Опции темы

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