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

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

Войти
Регистрация
Восстановить пароль
 
FrolBrol
14 / 14 / 2
Регистрация: 02.01.2012
Сообщений: 73
#1

Обработка исключений - C++

08.01.2013, 19:36. Просмотров 394. Ответов 3
Метки нет (Все метки)

Проблема. В main создаю объект класса MAS int или string. Нужно, что бы когда int - то заполнялся массив нулями, а когда string - выполнялся catch.

C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class T>
class MAS{
            private:
                T arr[10];
            public:
                MAS(){
                        try {
                            for(int i=0; i<10; i++) (this->arr[i]=0); // когда стринг - 'operator =' is ambiguous
                            }
                            catch(...) {for(int i=0; i<10; i++) this->arr[i]="qwe";} // когда инт - error C2440: '=' : cannot convert from 'const char [4]' to 'int'
 
                        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2013, 19:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка исключений (C++):

Обработка исключений с пмощью структурированной обработки исключений - C++
Есть функция, которая определенным образом работает с файлами,но при работе с файлами &quot;не подходящего&quot; типа вызывается необработанное...

Обработка исключений - C++
Надо отловить ввод данных некорректного типа. Объясните пожалуйста на конкретном примере, как это правильно сделать. #include...

Обработка исключений - C++
Добрый день! Столкнулся с такой проблемой. У меня есть класс class MyClass { public: MyClass(/* какие то параметры*/); ...

Обработка исключений - C++
Необходимо создать три массива a, b и с размерами соответственно n1, n2 и n3 (n1=!n2=!n3). В массив а занести значения функции...

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

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

3
0x10
2465 / 1637 / 239
Регистрация: 24.11.2012
Сообщений: 4,037
08.01.2013, 19:46 #2
Инстанцирование шаблонов происходит на этапе компиляции, обработка исключений - на этапе выполнения. Не мешайте все в кучу. А уж тем более размещение такой логики в блок обработки исключения противоречит здравому смыслу.
0
FrolBrol
14 / 14 / 2
Регистрация: 02.01.2012
Сообщений: 73
08.01.2013, 19:57  [ТС] #3
Вот без класса. Просто в main. Тоже не работает.

C++
1
2
3
4
5
6
int n;
       try {
             n="aaa";
                 }
    catch(...) {n=0;}
cin>>n;
0
0x10
2465 / 1637 / 239
Регистрация: 24.11.2012
Сообщений: 4,037
08.01.2013, 19:59 #4
Эм... Естественно. И не должно. Потому что нет стандартного преобразования от const char* к int. Еще раз: обработка исключений происходит во время выполнения программы. Не надо пытаться свалить на нее ошибки компиляции.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 19:59
Привет! Вот еще темы с ответами:

Обработка исключений - C++
Здравствуйте, мне нужно проанализировать ведённый номер телефона методом обработка исключений. Подскажите пожалуйста, почему я не могу...

Обработка исключений - C++
Как в блоке Try...Catch... обработать необработанное исключение по адресу? Что необходимо использовать в параметрах catch?

Обработка исключений - C++
Здравствуйте! Есть вот такое выражение: Подскажите пожалуйста, как правильно реализовать обработку исключений. И у меня не...

Обработка исключений - C++
Помогите написать программу пожалуйста!!!! Я незнаю как правильно написать!!! Задание: Для каждого варианта необходимо создать три...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
08.01.2013, 19:59
Ответ Создать тему
Опции темы

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