460,461c460,469
< while (!events.empty())
< events.front()->run();
---
> try {
> while (!events.empty())
> events.front()->run();
> } catch (...) {
> if (events.empty())
> scheduler.completeTimeSlot(this);
> else
> scheduler.schedule(this);
> scheduler.throwToScMain();
> }