В Microsoft Visual C++ и CBuilder есть __finally.
А есть такое от Qt или в GNU C++?
Как вообще можно написать такое без finally?
class SampleLoader : public QObject
{
Q_OBJECT
public:
explicit SampleLoader(QObject *parent = 0);
void load(QString sampleParameter);
signals:
void workBeginEvent(int stepsCount);
void workEvent(int step);
void workEndEvent(bool sampleResult);
public slots:
};
void SampleLoader::load(QString sampleParameter)
{
int count = 10;
bool someResult = false;
emit workBeginEvent(count);
try
{
for(int i = 0; i < count; i++)
{
QTest::qSleep(100); // hard work
emit workEvent(i);
}
someResult = true;
}
finally
{
emit workEndEvent(someResult);
}
}