try
{
for(int i = 0; i < count; i++)
{
QTest::qSleep(100); // hard work
emit workEvent(i);
if (i == 5)
return
}
someResult = true;
}
catch(...)
{
emit workEndEvent(someResult);
throw; //если надо дальше кинуть
}
emit workEndEvent(someResult); //если нужно всегда