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

Транзакции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ зар. плата работника http://www.cyberforum.ru/cpp-beginners/thread394468.html
составить алгоритм и программу определения разницы между наибольшей и наименьшей зарплатой N работников, если заработная плата каждого работника рассчитывается по формуле Z = T * G, где Z-сумма...
C++ Перегрузка бинарных операций помогите пожалуйста доработать программу цель которой ввод массива, вывод, нахождение длины вектора массива.. и сложения и вычитания из каждого элемента массива дробного числа с помощью перегруженных... http://www.cyberforum.ru/cpp-beginners/thread394464.html
C++ упорядочить по возрастанию
a=(2L-4K)/81; b=(l+8k)/k; c=2lk-12;
Составить процедуру вычисления значения целого числа по заданной строке символов C++
Составить процедуру вычисления значения целого числа по заданной строке символов, являющейся записью этого числа в шестнадцитеричной форме счисления.
C++ задача на использование условных операторов http://www.cyberforum.ru/cpp-beginners/thread394449.html
Добрый вечер. Возникили трудности с решением задачи с использованием условных операторов. Не могу разобраться , слишком много переменных и не получается собрать это все вместе Вот текст задачи:...
C++ Требуется определить строки, содержащие максимальное количество слов Строки текстового файла input.txt состоят из слов, разделенных одним или несколькими пробелами. Перед первым, а также после последнего слова строки пробелы могут отсутствовать. Требуется определить... подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.11.2011, 06:28
В начале действия вызвать функцию begin(начать) в ней сделать копию исходных данных до модификации данных, далее при модификации данных проверять на ошибки если случиться ошибка выбросить метод throw для внешенего блока - try catch, при ошибке в блоке catch вызвать метод rollback(откатить) который восстановит не модифицируемые данные которые были сохранены в файловом-кэше или в памяти, если ошибки не произошло вызвать метод commit(фиксировать) сохранить данные в классе или где у тебя там, вот примитивный пример.
C++
1
2
3
4
5
6
7
8
9
object obj;
int array[] = { ... };
try {
    obj.begin();
    obj.set(array, size array);
    obj.commit();
} catch(...) {
    obj.rollback();
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru