Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > работа с исключениями


Автор: fuckingniger 5.11.2010, 18:28
нужно при помощи исключений вести контроль допустимых значений(которые вводит пользователь) 
как бы это лучше сделать? какие объекты выкидывать?

Автор: fuckingniger 5.11.2010, 19:13
какие классы использовать мб ?

Автор: fuckingniger 5.11.2010, 20:56
люди!!!

Автор: boostcoder 5.11.2010, 21:36
std::exception

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

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

ниочем...
у тебя реальные вопросы есть?

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

вполне могу понять что в книге просто не очень удачные примеры

Автор: mes 6.11.2010, 02:17
Код

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

Container c; 
c[4] =5;

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

вряд ли сходу поймет..

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


именно)

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


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

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



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

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

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

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

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

Автор: fuckingniger 6.11.2010, 15:09
Код

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


да

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

Добавлено через 7 минут и 57 секунд
я так понял ими в основном просто сообщения выдают об ощибке...скорее уведомления даже.....а вот напимер при делении на 0 можно подменить 0 на 1??

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

Автор: mes 6.11.2010, 17:53
Цитата(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`ом на ошибку для оператора [] возвращающего некоторое значение.. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)