Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вводишь текст, нажимаешь на кнопку и всё записывается в фаил(WinApi или Visual C++) Всем хай! Помогите написать простую програмулину. Например, форма, на ней техтбох, кнопка. Вводишь текст, нажимаешь на кнопку и всё записывается в фаил. Ну примерно так, если можно - то с комментариями. Сам C++ не знаю, хотя были попытки освоить, но больше нет желания связываться с этим языком. Вообщем вот, кого не затруднит, то помогите. Желательно на WINAPI или Visual C++. https://www.cyberforum.ru/ cpp-beginners/ thread420910.html C++ Чтение из файлов по "маске"
Проблема такова: есть файл в котором описаны функции(они также объявлены и описаны в программе). Например: Func1(1,2); Func2(3,4); Как сделать, чтобы после прочтения 1-ой строки из файла, программа использовала функцию Func1 с параметрами 1 и 2, если это возможно?
C++ подскажите мне ребят решил начать писать программы на С/С++. Скачал среду как посаветано сдесь на форуме, Microsoft Visual C++ 2008 Express Edition with SP1, но не могу разобраться, где стартовый файлк чтобы запускать саму среду? Все папки облазел не нашел, подскажите пожайлуста! https://www.cyberforum.ru/ cpp-beginners/ thread420886.html C++ объявить массив 5на5. 3аполнить массив '0' https://www.cyberforum.ru/ cpp-beginners/ thread420869.html
а как объявить массив 5на5. 3аполнить массив '0'?
C++ Вывести список студентов с их оценками за разные предметы, со средним баллом студента
ПОМОГИТЕ!! СРОЧНО! нужно написать список студентов с их оценками за разные предметы, со средним баллом студента! используя map и прочее.. я не понимаю, как это сделать.. кто-нибудь, можете ли вы помочь?
C++ Скалярное произведение двух массивов https://www.cyberforum.ru/ cpp-beginners/ thread420863.html
не могли бы подсказать, что в коде программы надо дописать, вышло только просто произведение #include <iostream> #include <stdlib.h> using namespace std; void mas_in(int* a, int size) { for(int i = 0; i < size; ++i) cin >> a; } void mas_out(int* a, int size)
C++ слова using, std зачем нужны эти слова (using)? что эти выражения значат? #include <iostream> using std::cin; using std::cout; using std::endl; и зачем использовать перед cout std в следующем коде? std::cout << std::endl; https://www.cyberforum.ru/ cpp-beginners/ thread420854.html Перевод массива char в массив int (в чем ошибка?) C++
не могу понять почему не работает функция void StrToIntMass (int element, char buffer) { int k = 0,j = 0; char temperary; for(int i = 0; i <= strlen(buffer); i++) { while(isdigit(buffer) != 0) {
C++ Ошибки при использовании конструкции if-else. Всех с наступающим! Ребята, подскажите в чем ошибка? https://www.cyberforum.ru/ cpp-beginners/ thread420846.html C++ Найти сумму и количество отрицательных значений функции Даны матрицы: С4*4. Найти сумма и количество отрицательных значений функции: F=i-y*c Пожалуйста помогите Всех с наступающим Новым Годом =))) https://www.cyberforum.ru/ cpp-beginners/ thread420796.html
C++ Напечатать предложение после удаления средней буквы для слов неточной длины
Напечатать предложение после удаления средней буквы для слов неточной длины. Помогите, буду очень признательна :) Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят. Избегайте грамматических ошибок при написании сообщений - уважайте себя и других участников форума.
C++ В матрице найти среднее арифметическое отрицательных элементов каждого столбца https://www.cyberforum.ru/ cpp-beginners/ thread420791.html
greeezz, хочу сказать огромное спасибо всем, но помогите пожалуйста с еще одной задачей, больше думаю не пригодится, в матрице а найти среднее арифметическое отрицательных элементов каждого столбца Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
4863 / 2662 / 913
Регистрация: 29.11.2010
Сообщений: 5,741
30.12.2011, 19:57 0

Типы ошибок(не синтактические) и что с ними делать. - C++ - Ответ 2345148

30.12.2011, 19:57. Показов 2624. Ответов 3
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Вообще, есть много разной литературы, в которой описаны различные способы категоризации ошибок. Выбрать, который из них единственно правильный довольно трудно.

В языках, где ошибки перехватываются при помощи исключений (java, python...) обычно принято разделение на ошибки компиляции (compile time error) и ошибки времени выполнения (runtime error), причем ошибки времени выполнения (runtime error) можно условно разделить на восстановимые (recoverable) и невосстановимые (fatal).

Ошибки времени компиляции приводят к тому, что код не собирается в исполняемый файл, поэтому про них писать не буду.

Операцию, во время которой произошла восстановимая ошибка, например, некорректный ввод данных, невозможность записать в файл и т.п. можно попытаться повторить или пропустить, если она не обязательная (например, попытка синхронизации времени с удаленным сервером).

Если во время выполнения произошла фатальная ошибка, например, невозможно подключиться к базе данных, без которой корректная работа программы немыслима, приложение нужно остановить (иногда перезапустить).

Опять-таки, это разделение довольно условно и не является каноническим.

В С++ не полностью реализованы исключения. Например, некоторые функции не генерируют исключения, а останавливают программу или возвращают некорректный результат. Поэтому, хотя механизм и есть, он довольно костыльный и для многих штук приходится писать обертки.
C++
1
2
if (someOperatrion(parameters) == -1)
  throw exception("Operation failed");
Но сам по себе механизм обработки исключений сильно облегчает жизнь.

Цитата Сообщение от Chelioss Посмотреть сообщение
А как насчет assert? Где исключения, а где асерты?
Assert это инструмент стандартной библиотеки языка С (не С++). Способ убедиться, что некое значение, критичное для выполнения программы истинно. В противном случае, вызывается abort и программа останавливается. Вообще хитрая штука, ибо генерит SIGABORT, выходит с ошибкой, не освобождает ресурсы, отключается #define NDEBUG и т.п.

Не стоит использовать в С++ коде, пользуйтесь исключениями.

Цитата Сообщение от Chelioss Посмотреть сообщение
Например, исключение при выходе за границу вектора. Сказать, что произошла ошибка и выключить программу?
Да.

Исключительная ситуация на то и исключительная. (ваш, К.О.) Если что-то может теоретически выйти за границу вектора, надо проверять условием. Если не может, это исключительная ситуация. Невосстановимая. Закрываемся.

Цитата Сообщение от Chelioss Посмотреть сообщение
Надо ли использовать исключения для этого типа ошибок? Может даже надо только исключения использовать?
Весьма желательно. Если это возможно, конечно. В С++ механизм исключений довольно корявый и кое-где, к сожалению, просто не выйдет опереться на этот механизм.

Цитата Сообщение от Chelioss Посмотреть сообщение
Для этого случая можно попробовать снова попробовать выделить память(наверно не всегда хороший вариант) или закрыть программу или еще что-нибудь.
Можно попытаться сделать эту ошибку восстановимой. Например, запустить собственный garbage collector или освободить память, очистив содержимое какого-нибудь кэша... Но в целом, закрываться.

Вернуться к обсуждению:
Типы ошибок(не синтактические) и что с ними делать. C++
4
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2011, 19:57
Готовые ответы и решения:

Указатели и что с ними делать?
Приветствую, жители форума. Неоднократно мне помогали, благодарю за это. Сегодня начали изучать...

Двоичные деревья. И что с ними делать?
Вот написал такой код, а что делать дельше не знаю. #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; ...

Файлы дубликаты,что с ними делать?
C помощью CCleaner, найдены файли дубликаты на диске С. Что с ними делать? Или ничего не делать? ...

Много сателлитов, что с ними делать?
Доброго времени суток. Уважаемые коллеги, помогите советом. Есть 30 сателлитов (300-400 страниц...

3
30.12.2011, 19:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2011, 19:57
Помогаю со студенческими работами здесь

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы
Заранее спасибо.

1C и Excel: что и как можно с ними делать?
Здрасти, товарищи! Передо мной, как перед новичком стоит задача: 1.Создать справочник единиц...

Иксы: что с ними делать? удалять или можно еще наладить?
Доброго времени суток. Перестали запускаться иксы, после установки графического терминала. долго...

IIS5-не выдает описания ошибок что делать ?
Когда я работал на IIS4 то там все было ок. КОгда я перешел на IIS5 то в случае 1) если ошибка...

Почему в конце символьной строки появляются разные символы, и что с ними делать?
В строке, содержащей последовательность слов, найти конец предложения, обозначенный символом...

Полный ДАМП ошибок. Не могу понять что делать
Приветствую форумчане. Помогите с решением ошибок. Дамп прилагается. Не знаю как читать его и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru