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

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

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.12.2012, 13:24     Как бросать эти исключения? #1
C++
1
throw popOnEmpty();
,
C++
1
throw pushOnFull(Value);
. Что нибудь надо выше заинкладить/написать? Что именно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.12.2012, 13:43     Как бросать эти исключения? #4
taras atavin, Эм. Классы создать, производные от наиболее подходящего стандартного класса исключений
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
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++ Как правильно обрабатывать исключения в приложении на базе графического движка?
Как правильно вызывать исключения? C++
Как создавать информативные исключения? C++

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

Или воспользуйтесь поиском по форуму:
Пaтрик
 Аватар для Пaтрик
394 / 387 / 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     Как бросать эти исключения?
Ответ Создать тему
Опции темы

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