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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод сообщения об ошибке при вводе больше n значений. http://www.cyberforum.ru/cpp-beginners/thread364293.html
Всем привет! Собственно вопрос. Есть такая вот строка. Как мне вывести сообщение об ошибке, если я введу, допустим, 4 4 4 4 или 4 4 4 h и т.п.? while ((scanf("%lf %lf %lf", &a, &b, &c))!=3 or a...
C++ подсветка синтаксиса нужно вставить код программы(с++) с подсветкой синтаксиса в Microsoft Word 2010. Подскажите как это можно реализовать, не используя снимки экрана. http://www.cyberforum.ru/cpp-beginners/thread364289.html
Удалить элементы с заданным значением, добавить перед каждым четным элементом 0 C++
Здраствуйте, форумчане!!! у меня такая вот задача: 1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2. Распечатать полученный массив. 3. Удалить все элементы...
Вывести название соответствующего времени года C++
Я только начал изучать его, ну то есть в универ поступил, а в обычной школе до этого с ним не сталкивался, и много еще не знаю. Помогите пожалуйста. Вот задача: Дан номер месяца — целое число в...
C++ Угол Фи http://www.cyberforum.ru/cpp-beginners/thread364272.html
Всем доброго времени. Нужна помощь, есть код на паскале, причем рабочий, но как то же самое сделать на СИ не понимаю. Часовая стрелка образует угол "Фи" с лучом, проходящим через центр...
C++ Реверс положытельной подстроки Надо найти положытельную подстроку и записать ее реверс вот мой код но он почемуто не работает( // massd.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"... подробнее

Показать сообщение отдельно
hijacker7
20 / 20 / 1
Регистрация: 06.10.2011
Сообщений: 53
10.10.2011, 22:29
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        try{
 
        size = n;
       
                if(size == NULL) throw  error("Не возможно создать объект. Не выделена память");
                
                if(size < 0) throw error("Отрицательное значение размера массива");
                }
 
        catch(error &x)
        {
                x.show();
                exit(0);
        }
Зачем сравнивать size c NULL? C NULL обычно сравнивают указатели. Можно эти 2 исключения объединить в одно:
C++
1
if(size <= 0) throw error("Неверный размер массива");
Также лучше исключения обрабатывать не в функции, в которой ты их выбрасываешь, а в функции более высокого уровня.

Добавлено через 4 минуты
Можно еще добавить такой эксепшен:
C++
1
2
3
arr = new X [size];
if(arr == NULL)
     throw error("Невозможно выделить память по массив");
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru