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

Перехватывание исключений в списке инициализации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Потоки или коллбэки? http://www.cyberforum.ru/cpp-beginners/thread1246545.html
Вопрос по структуре приложения. Потребовалось выполнение нескольких задач условно одновременно - выдавать звук в выходной поток и записывать со входного. В интернете нашел пример, там дается команда на запись потока, а потом в бесконечном цикле проверяется, не закончился ли процесс записи. Естественно, приложение в это время висит и ждет. Я убрал бесконечный цикл ожидания и при вызове метода...
C++ Разобрать блок приведенного кода Есть код: Game::Game() : mWindow(sf::VideoMode(640, 480), "SFML Application", sf::Style::Close) , mTexture() , mPlayer() , mFont() , mStatisticsText() , mStatisticsUpdateTime() , mStatisticsNumFrames(0) http://www.cyberforum.ru/cpp-beginners/thread1246514.html
C++ Выделение статической памяти, не используя статические объекты
Здравствуйте! Как известно, когда мы объявляем статическую переменную, то компилятор выделяет ей место с самого начала, т. е. располагает в статической памяти, оптимизируя расположение. Однако, я не могу использовать модификатор static в моем случае. Есть ли какие-либо способы прокрутить то же самое, но без использования static?
C++ Можно ли разширять матрицу без удаления предыдущей
Интересует вопрос, можно ли разширять матрицу без удаления предыдущей. Покажу сразу пример: Допустим есть некая структура, и так я её первоначально заполняю: var **v; v = new var*;//динамическая матрица for (int i = 0; i < CMY; i++) v = new var; И так CMY - это кол-во строк, а CMX - кол-во столбцов.
C++ Разработать три класса, которые следует связать между собой, используя наследование http://www.cyberforum.ru/cpp-beginners/thread1246502.html
Разработать три класса, которые следует связать между собой, используя наследование: класс Product, который имеет три элемент-данных - имя, цена и вес товара (базовый класс для всех классов); класс Buy, содержащий данные о количестве покупаемого товара в штуках, о цене за весь купленный товар и о весе товара (производный класс для класса Product и базовый класс для класса Check); класс...
C++ Запуск деструктора не осуществляется в приведенном коде Добрый день. Написал программу, а в ней не хочет автоматически запускаться, хотя я вроде бы всё правильно делаю. Прошу подсказать, в чём может быть проблема. #include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; class Work { private: подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14173 / 6188 / 981
Регистрация: 02.05.2013
Сообщений: 10,295
Завершенные тесты: 1
24.08.2014, 15:36     Перехватывание исключений в списке инициализации
В C++ есть специальный синтаксис для этого дела.
Упрощенный пример:
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
#include <iostream>
 
struct bad
{
    bad(int SomeValue)
    {
        throw (std::runtime_error("Boom!"));
    }
};
 
struct someclass
{
    bad Bad;
 
    someclass() try :
        Bad(123)
    {
        // Constructor body.
    }
 
    catch (std::exception const & Exc)
    {
        std::cout << Exc.what() << std::endl;
    }
};
 
int main()
{
    someclass Someclass;
    return 0;
}
Вывод:
> Boom!
Application terminated unexpectly.
Обратите внимание на вывод: исключение, пойманное в catch списка
инициализации, пробрасывается дальше.
 
Текущее время: 05:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru