private static function work_stage ($stagename) { /*rts*/ $stamp = microtime(true); /*rts*/ self::$rts_time_for_stage[$stagename] = 0.0; self::$stage = $stagename; try { $method = "stage_{$stagename}"; self::$method(); } catch (coren_exception_abort_stage $exception) { $exception = null; } catch (exception $exception) {} self::$stage = null; /*rts*/ self::$rts_time_for_stage[$stagename] += microtime(true) - $stamp; if (isset($exception)) throw $exception; }