Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с исключениями, как лучше сделать? 
:(
    Опции темы
fuckingniger
Дата 5.11.2010, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



нужно при помощи исключений вести контроль допустимых значений(которые вводит пользователь) 
как бы это лучше сделать? какие объекты выкидывать?
PM MAIL   Вверх
fuckingniger
Дата 5.11.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



какие классы использовать мб ?
PM MAIL   Вверх
fuckingniger
Дата 5.11.2010, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



люди!!!
PM MAIL   Вверх
boostcoder
Дата 5.11.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



std::exception
PM WWW   Вверх
fuckingniger
Дата 6.11.2010, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



в книжке тоже так написано) но как-то общё всё .... есть люди тут которые реально зарабатывают себе программированием - вы мспользуете у себя исключения и если да то когда ? а то что - то глава в книге не дала представления особого . 
PM MAIL   Вверх
boostcoder
Дата 6.11.2010, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(fuckingniger @ 6.11.2010,  01:42)
в книжке тоже так написано) но как-то общё всё .... есть люди тут которые реально зарабатывают себе программированием - вы мспользуете у себя исключения и если да то когда ? а то что - то глава в книге не дала представления особого .

ниочем...
у тебя реальные вопросы есть?
PM WWW   Вверх
fuckingniger
Дата 6.11.2010, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



не понятно вообщ какой смысл их применять - простой if проще) 
не понимаю зачем разбивать на try catch классы какие-то надстраивать....

вполне могу понять что в книге просто не очень удачные примеры
PM MAIL   Вверх
mes
Дата 6.11.2010, 02:17 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Код

struct Container 
{
    int& operator[] (size_t id) 
    {  if (id< _size) return some_ref;
       еlse .. // верните тут ошибку : выход за границы
    };
  ...
};

Container c; 
c[4] =5;


Это сообщение отредактировал(а) mes - 6.11.2010, 11:17


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 6.11.2010, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  6.11.2010,  02:17 Найти цитируемый пост)
// верните тут ошибку : выход за границы

вряд ли сходу поймет..
PM WWW   Вверх
fuckingniger
Дата 6.11.2010, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



Цитата(boostcoder @  6.11.2010,  02:34 Найти цитируемый пост)
// верните тут ошибку : выход за границы
вряд ли сходу поймет..


именно)
PM MAIL   Вверх
mes
Дата 6.11.2010, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  6.11.2010,  01:34 Найти цитируемый пост)
вряд ли сходу поймет.. 


Цитата(fuckingniger @  6.11.2010,  08:21 Найти цитируемый пост)
именно) 

перегрузка оператора надеюсь понятна ?
а в остальном не надо сходу, попытайтесь применить контроль над ошибками с помощью if..





--------------------
PM MAIL WWW   Вверх
azesmcar
Дата 6.11.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(fuckingniger @  6.11.2010,  01:42 Найти цитируемый пост)
вы мспользуете у себя исключения 

Да. smile 
Цитата(fuckingniger @  6.11.2010,  01:42 Найти цитируемый пост)
если да то когда ? 

В исключительных ситуациях. smile 

Цитата(fuckingniger @  5.11.2010,  18:28 Найти цитируемый пост)
нужно при помощи исключений вести контроль допустимых значений(которые вводит пользователь) 

веди. наследуй свой класс исключения от std::exception или используй существующий из стандартной библиотеки. Например std::out_of_range.


Это сообщение отредактировал(а) azesmcar - 6.11.2010, 12:34
PM   Вверх
fuckingniger
Дата 6.11.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



Код

перегрузка оператора надеюсь понятна ?


да

Добавлено через 4 минуты и 43 секунды
а что такое _size и some_ref ???

Добавлено через 7 минут и 57 секунд
я так понял ими в основном просто сообщения выдают об ощибке...скорее уведомления даже.....а вот напимер при делении на 0 можно подменить 0 на 1??
PM MAIL   Вверх
cutwater
Дата 6.11.2010, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 1
Всего: 10



fuckingniger, с классами знаком? В конструкторе класса произошла ошибка. Ваши действия?


--------------------
user posted image
PM MAIL   Вверх
mes
Дата 6.11.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(fuckingniger @  6.11.2010,  14:09 Найти цитируемый пост)
я так понял ими в основном просто сообщения выдают об ощибке...скорее уведомления даже...

"ими" это исключениями ? "сообщения" - это визуальные сообщения ?
тогда неправильно... 


Цитата(fuckingniger @  6.11.2010,  14:09 Найти цитируемый пост)
.а вот напимер при делении на 0 можно подменить 0 на 1?? 

подменить  smile остерегайтесь применять такой подход в программированнии.. бесонные ночи дебага будут Вам обеспечены smile

Добавлено через 2 минуты и 29 секунд
Цитата(fuckingniger @  6.11.2010,  14:09 Найти цитируемый пост)
а что такое _size и some_ref ???

некоторые значения.. пусть будут члены класса.. не важно что..

вопрос как сделать проверку if`ом на ошибку для оператора [] возвращающего некоторое значение.. 



--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1211 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.