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

try catch throw для чего нужны? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка двойного индексного оператора http://www.cyberforum.ru/cpp-beginners/thread795341.html
Делаю задачу из одной книги. Нужно создать класс DoubleSubscriptedArray.Как видно из названия, класс должен работать с двумерными массивами. Он включает несколько задач, связанных с перегрузкой операторов, но это не столь важно. Реализация всего этого не вызывает у меня затруднений, тем более, что в предшествующем разделе книги есть аналогичный пример для одномерного массива :) Но в отличие от...
C++ С++ Найти символ в строке Задача:напишите программу,подсчитывающую количество определённой буквы в строке.строка и буква вводится пользователем. сам мучаюсь третий день не могу понять как сделать нормально. http://www.cyberforum.ru/cpp-beginners/thread795334.html
Указатель и ссылка C++
Почему выгодней использовать указатель а не ссылку при использовании массивов?
Алгоритмы сортировки: прямые, улучшенные (Сортировка с помощью включений с уменьшающимися расстояниями (сортировка Шелла)) C++
Задание 2. Сортировка с помощью включений с уменьшающимися расстояниями (сортировка Шелла). Методические указания к выполнению задания 2 Описать алгоритм сортировки. Проанализировать его эффективность. Написать программу сортировки данных с использованием указанного алгоритма. Сравнить эффективность улучшенного алгоритма с прямым алгоритмом из задания 1. Зарание большое спасибо за...
C++ Для сохранения данных задания 1 использовать динамическую структуру – бинарное дерево. Выбрать все записи о невостребованных учебниках http://www.cyberforum.ru/cpp-beginners/thread795323.html
Задание 2. Для сохранения данных задания 1 использовать динамическую структуру – бинарное дерево. Выбрать все записи о невостребованных учебниках. Методические указания к выполнению задания 2 При выполнении задания для организации поиска необходимой информации использовать рекурсивный обход дерева. Зарание большое спасибо за вашу помощь.
C++ преобразование матрицы помогите решить.преобразовать заданную матрицу x(p,k) таким образом чтобы первый элемент каждого столбца был заменен произведением последующих элементов того же столбца:help: подробнее

Показать сообщение отдельно
Develops
 Аватар для Develops
15 / 15 / 1
Регистрация: 19.02.2013
Сообщений: 38
26.02.2013, 16:28     try catch throw для чего нужны?
Немного убогий пример приведу.
Например программа генерирует случайные числа в диапазоне от 0 до 50. Нем необходимы числа больше 20. Числа, меньше 20 у нас будут исключениями, которые мы так же сможем обработать.
Рассмотрим код следующей программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
   void func(void);
   func();
   return 0;
}
 
void func(void)
{
    int num;
    try
    {
        num = rand(); // Чтобы не усложнять код, представим, что rand генерирует число именно в нужном нам промежутке.
        if(num < 20)
            throw num; // Если число меньше 20, генерируем исключение. Выполнение кода в блоке try {...} прерывается.
        // В ином случае продолжаем работу со сгенерированным числом.
        cout << "Наше число: " << num << endl;
    }
    catch(int n) // В этом блоке мы ловим исключение и делаем с ним что хотим. Например, выводим оповещение.
    {
        cout << "Слишком маленькое число: " << n << endl;
    }
}
К сожалению, про throw без блоков try и catch в c++ я рассказать ничего не могу.
Вообще, вот неплохая статья по теме.

Добавлено через 1 минуту
Тоже опоздал
 
Текущее время: 00:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru