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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Из float в string http://www.cyberforum.ru/cpp-beginners/thread1037174.html
Как из переменной типа флоат записать число в string? float x = -123.56; string Str; Нужно чтобы Str стало равно "-123.56"
C++ Программа с двусвязным списком крашится Здравствуйте! написал код для двусвязного списка, проблема следующая: все компилируется, запускается интерфейс, но какую бы функцию я не вызывал - окно вылетает ("прекращена работа...") ... http://www.cyberforum.ru/cpp-beginners/thread1037171.html
Преобразование типа C++
Есть числа типов int и double. Их надо преобразовать в тип char, чтобы записать их в поток(файл *.bin). И какая функция соединяет строки? Например stroka1+stroka2+...+strokaN в вид одна большая...
C++ Программа вылетает на delete[] Line
Подскажите, кто-нибудь. Программа вылетает на delete Line; не пойму почему, вроде, все синтаксически правильно... int Size = 1, Step = 2; char * Line = new char ; int Count = 0, i = 0; ...
C++ Не работает сортировка http://www.cyberforum.ru/cpp-beginners/thread1037102.html
День добрый. Проблема такова: 1) не правильно происходит расчёт суммы всех эл-ов до максимального числа. 2) не сортирует массив от минимального к наибольшему числу. 1. Int f2 (int*a, int n) {...
C++ В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины Помогите пожалуйста составить программу !!! вот условие В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины, не содержащее заданную букву. подробнее

Показать сообщение отдельно
egor2116
451 / 375 / 42
Регистрация: 20.01.2013
Сообщений: 1,135
11.12.2013, 15:42
1. Один вопрос Одна тема(правила форума).
Можно ли каким-то образом эти два исключения написать в одном catch-е?
Можно
Для этого создайте свой класс исключения и при наступлении исключения создавайте обьект этого класса.

Как то так.

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
29
30
31
32
33
class MyException
{
  private:
             int n;
             float q;
  public:
            MyException(int _n = 0) : n(_n){}
            MyException(float _q = 0.0f) : q(_q){}
            void what()
            {
              if(n != 0)
                std::cout << "What is happend is n = " << n << std::endl; 
              else if(q != 0.0f)
                 std::cout << "What is happend is q = " << q << std::endl;    
             }
            
};
int main ()
{
   //......
    try
    {
        s=b*(1-pow(q,n))/(1-q);
        if(n<=0)
            throw MyException(n);
        if(q<0)
            throw MyException(q);
    }
    catch(MyException & me)
    {
         me.what();
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru