Привет!
Скажите пожалуйста. Как самостоятельно раскрутить стек?
Последоваетьльно вызывать деструкторы как это делает C++ _не_ нужно.
Нужно лишь передать управление на ближайшую верхушку.
Вот примерчик кода:
TRAP(r,doExampleL()); // Макрос
// Test the leave variable
if (r)
testConsole.Printf(_LIT("Failed: leave code=%d"), r);
Идет вызов функции doExampleL(). Из не в глубину вызываються другие функции. И тут, в глубине, одна из функций сказала:
User::Leave(ErrCode);
Управление нужно передать на самую верхушку (к ближайшему TRAP) (Подобно catch в С++).
Как это можно сделать?
P.S.
#define TRAP(_r,_s) {TTrap __t;if (__t.Trap(_r)==0){_s;TTrap::UnTrap();}}
Ответ на:
комментарий
от myhand
Ответ на:
комментарий
от myhand
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MKuznetsov
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как раскрутить ивент (2013)
- Форум Раскрутится ли НЖМД? (2013)
- Форум Exception. (2005)
- Форум Exceptions (2005)
- Форум стек (2020)
- Форум Самостоятельность милиции (2007)
- Форум QProgressBar exception (2015)
- Форум POSIX exceptions (2009)
- Форум Bash & exceptions (2007)
- Форум C++, exceptions (2008)