Simpliest ну, я фактически и свел к нему код.. закомментив лишнее. единственное, оно, зараза, срабатывает не только при крит.ошибке, а еще и аналогично деструктору класса... в итоге возникли малопонятные попервости глюки))
Это легко обходится одной реперной переменной в глобальной области, которую ты удаляешь при корректном завершении скрипта и которая не успевает удалиться в случае ошибки. В вызове ты лишь проверяешь ее наличие. Если нет то просто die(), если есть - обрабатываем последнюю ошибку.
Кстати есть резон создавать следующий механизм? Основной скрипт в несколько потоков выдает диспетчеру задание на запуск модулей(один поток - один модуль). Отвалившиеся потоки в связи фаталом или timeout записываются в лог. Собираем данные от успешных модулей и выводим результат.
Как дети, чесслово. Для всех подобных игрищ ответ на вопрос "Зачем?" всегда один: "Because i can." =) И это не так уж и плохо, да.
Это не так уж и хорошо, да Во-первых, лично я не люблю лишних ненужных телодвижений А во-вторых, ты же не спишь с парнями только потому, что можешь? Так что идея есть, а вот нужна ли она - хрен его знает Абстракция в виде безопасного подключения модулей. Прикольно, но не более того.