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

Снова try catch - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание из Страуструпа http://www.cyberforum.ru/cpp-beginners/thread1125705.html
Добрый день. При изучении С++ по учебники Страуструпа столкнулся со следующим заданием : "Дайте пользователю возможность определять функции в настольном калькуляторе. Подсказка: определяйте функции как последовательность действий, прямо так, как их набрал пользователь. Такую последовательность можно хранить или как символьную строку, или как список лексем. После этого, когда функция вызывается,...
C++ Файлы и записи c++ Составить программу, выводящую на экран анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях). Распечатать данные об учениках, родившихся ранее заданного года. мы вводим в программе данные через структуру записываем их в новый файл а потом открываем этот файл еще раз и задам условие и исхдя из условия выводим учеников на экран http://www.cyberforum.ru/cpp-beginners/thread1125688.html
Количество отрицательных и количество положительных элементов C++
количество отрицательных и количество положительных элементов
Стек с контролем на переполнение C++
#include <iostream.h> struct stek { int d; struct stek *next; }; void push(stek* &next, int d)
C++ Все числа с диапазоном от А до В,что заканчиваются на любую парную цифру http://www.cyberforum.ru/cpp-beginners/thread1125676.html
Здравствуйте. Помогите решить задачу тремя способами используя операторы цикла while, do while i for. Вывести на экран: Все числа с диапазоном от А до В,что заканчиваются на любую парную цифру. Очень надо,заранее спасибо!
C++ Шифрование файла с методом исключающего ИЛИ Здраствуйте, помогите составить программу которая шифрует файл текстового документа по символьно, с использованием ключа подробнее

Показать сообщение отдельно
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
21.03.2014, 12:34  [ТС]     Снова try catch
Огромное спасибо! Кое-что прояснили...
Сделала так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void int_array::erase(int index)
{
    try
    {
        if (index < 0) 
            throw std::invalid_argument("Bad index to erase!");
        if (index > size) 
            throw std::invalid_argument("Index out of range!");
        int *temp = new int[size-1];
        for (int i = 0; i < index; ++ i)
            temp[i] = mas[i];
        for (int i = index + 1; i < size; ++i)
            temp[i - 1] = mas[i];
        size = size - 1;
        int *t = mas;
        mas = temp;
        delete [] t;
    }
    catch(const std::invalid_argument& ex)
    {
        throw;
    }
}
А в мейне делаю обработку
C++
1
2
3
4
5
6
7
8
9
10
11
int main(){
...
    catch(const std::invalid_argument& ex)
    {
        switch(ex.what())
        {
            
        }
    }
 
}
Почему так нельзя?..(
Хочу, в зависимости от приходящего сообщения, разные обработки делать... А компилятор ругается. Я опять что-то недопоняла.
 
Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru