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

Как проверять и тестировать входные аргументы конструктора? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка скобок для указателя http://www.cyberforum.ru/cpp-beginners/thread1156245.html
Здраствуйте. Написал небольшой код, всё работает, но не знаю как при динамическом вызове можно было просто использовать a, a... вместо (*a), (*a) .... Вот сам код: #include <iostream> #include...
C++ В массиве структур студент с полями "ИМЯ" "ВОЗРАСТ" "УСПЕВАЕМОСТЬ" выполнить сортировку по успеваемости по возрастанию в массиве структур студент с полями "ИМЯ" "ВОЗРАСТ" "УСПЕВАЕМОСТЬ" выполнить сортировку по успеваемости по возрастанию. Использовать сортировку пузырьком. #include<stdio.h> #include <conio.h>... http://www.cyberforum.ru/cpp-beginners/thread1156240.html
Сведение к двум дифференциальным уравнениям, Рунге-Кутта-Мерсона C++
Здравствуйте. В общем имеется функция y = x(t) y''=g(sin\alpha - \eta cos\alpha) Ее нужно свести к двум дифференциальным уравнениям первого порядка и применить метод Рунге-Кутта-Мерсона. t0 <=...
C++ Перевод из русской раскладки клавиатуры в латинскую
Зравствуйте! Столкнулся с такой проблемой: необходимо реализовать класс для считывания текста из файла, сохранения его в памяти и перевода из русской раскладки клавиатуры в латинскую (замена букв...
C++ Создать линейный односвязный список, упорядоченный по фамилиям продавцов в алфавитном порядке http://www.cyberforum.ru/cpp-beginners/thread1156209.html
Друзья, подскажите, пожалуйста, в чем может быть ошибка? Задача такова: создать линейный односвязный список, упорядоченный по фамилиям продавцов в алфавитном порядке Вот код: struct prodavec {...
C++ Организовать двунаправленный список для хранения элементов структуры, содержащей сведения о фамилии, дате рождения Организовать двунаправленный список для хранения элементов структуры, содержащей сведения о фамилии, дате рождения. Предусмотреть добавление элементов в конец списка, поиск по дате рождения, удаление... подробнее

Показать сообщение отдельно
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,137
24.04.2014, 16:27
Почему бы не запихать все в один try-catch?
C++
1
2
3
4
5
6
7
8
9
10
11
try
{
   SomeClass c1("cool"), c2("0"), c3("qwerty") /*...*/;
   //SomeClass c[15] = {};
}
catch(std::invalid_argument e)
{
   std::cout << "Error occured in the constructor of some of the 15 objects" << endl;
   std::cin.get();
   exit(true);
}
А вообще кидать исключения из конструктора не запрещено, а даже иногда необходимо, т.к. конструктор не может вернуть код ошибки и кроме как выкинуть исключение путей нет. Деструкторы будут вызваны для сформировавшихся объектов при выбрасывании исключения. Ну и как вариант, что бы не кидать исключения, можно выводить ошибку прямо в конструкторе объекта, если что то пошло не так, и сразу exit().
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru