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

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

Войти
Регистрация
Восстановить пароль
 
SergeyS
153 / 145 / 6
Регистрация: 12.03.2011
Сообщений: 807
#1

Как правильно словить исключение не найденного элемента - C++

16.05.2014, 00:44. Просмотров 194. Ответов 1
Метки нет (Все метки)

Доброго вечера!

Не могу вьехать, как правильно словить исключение не найденного элемента:

C++
1
2
3
4
5
6
7
8
9
10
11
12
string ToDelete = View.DeleteProduct();
                  vector<string>::iterator DelIT;
                  
                  try {
                  DelIT = find(this->Model.Products.begin(),this->Model.Products.end(),string(ToDelete));
                  cout << *DelIT;
                  if (DelIT - 1 == Model.Products.end())throw FindError();
                  Model.Products.erase(DelIT);
                  throw "Find errod";
                  }
                  catch(FindError) {}
                  };
Как я понял DelIT будет указывать на элемент, следующий за последним, но как это правильно проверить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 00:44     Как правильно словить исключение не найденного элемента
Посмотрите здесь:

сортировать массив от одного найденного элемента до другого найденного элемента - C++
сортировать массив от одного найденного элемента до другого найденного элемента В моей задаче необходимо найти самое крайнее левое...

Не получается словить исключение - C++
Есть клсасс class ddlexp: public std::exception { private: __int16 stat; String functionName; String...

Можно ли как-то словить номер элемента используя указатель, а не переменную - C++
void Print(int *arr, const int *size) { for (int *p = arr, n=0; p &lt; arr + *size; p++) cout &lt;&lt; &quot; - &quot; &lt;&lt; *p &lt;&lt; endl; cout &lt;&lt;...

Как словить ошибку пользователя - C++
Суть такова: Обычное меню для классов программы, не верно вводимые цифры я ловлю, а если пользователь введет символ, то программа впадает...

Как правильно передать индекс элемента массива - C++
if(randNum=a) iNum=i; Нужно получить индекс случайно выбранного элемента массива . Как это правильно сделать ?

Исключение элемента в заданной позиции из массива - C++
В общем есть одномерный массив (не смотрите, что написано множество). Мне надо исключить элемент в заданной позиции. Помогите придумать...

Можно ли словить разницу в работе временной и невременной переменных в случае - C++
Может ли как-то проявиться то, что была сгенерирована временная переменная в приблизительно таком коде? double foo(const double &amp;ra){ ...

Как правильно унаследовать TPoint2D от TPoint3D/ Правильно ли наследовать? ООП - C++
Два пользовательских класса: Точка в 2D пространстве и точка в 3D пространстве. class TPoint3D{ int X,Y,Z; public: ...

Ошибка при выводе 1-го элемента массива, но правильно выводит последний - C++
Помогите пожалуйста найти ошибку (почему не выводит переменную а?): #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Правильно ли реализовано удаление элемента из массива и совершен вызов деструктора? - C++
я ведь правильно определил удаление элемента из массива и совершил вызов деструктора? class ECM { ..... } ECM *pECM; .... ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.05.2014, 01:17     Как правильно словить исключение не найденного элемента #2
SergeyS, http://en.cppreference.com/w/cpp/algorithm/find
Return value
Iterator to the first element satisfying the condition or last if no such element is found.
Также посмотрите раздел Possible implementation, он даст понять как работает функция.

Добавлено через 1 минуту
P.S. советую изучить этот сайт вдоль и поперек.
Yandex
Объявления
16.05.2014, 01:17     Как правильно словить исключение не найденного элемента
Ответ Создать тему
Опции темы

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