качать uncaughtexception handler

Я пытаюсь создать общий обработчик исключений для приложения Swing, как описано здесь:http://www.javaspecialists.eu/archive/Issue081.html

Я работаю в Jython (синтаксис Python компилируется в Java и выполняется). Мой код выглядит примерно так (updated):

def launcher(func):
    class launcherThread(Runnable):
        def __init__(self):
            super(launcherThread, self).__init__()

        def run(self):
            func()

    #trying to get the name which can be used to instantiate this in java
    cls = ExceptionGroup().getClass()
    fullName = cls.__module__ + '.' + cls.__name__

    System.setProperty("sun.awt.exception.handler", fullName)
    Thread(ExceptionGroup(), launcherThread(), 'Cross ExceptionHandlerThread').start()

class ExceptionGroup(ThreadGroup):
    def __init__(self):
         super(ExceptionGroup, self).__init__("HardenedGroup")

    def uncaughtException(self, thread, exception):
        #make a fancy dialog displaying str(exception)

Если я проверяю его, он работает нормально, однако в производственной среде он терпит неудачу. Для тестирования я запускаю свою программу в Eclipse (PyDev), производственная среда - это стороннее приложение, написанное на Java, со встроенной консолью Jython. Приложение поддерживает добавление пользовательских пунктов меню и размещение на них скриптов jython.

Основное различие, которое я вижу между тестированием и производственной средой, состоит в том, что в производственной среде качающиеся потоки уже запущены (стороннее приложение использует качание). Это вызывает мойThreadGroup установка не удалась, или есть другая причина, почему это не работает?

Как я могу получить вовлеченные потоки (исключения создаются в результате buttonActions), чтобы проверить их обработчики defaultException? Если (как я боюсь) должно получиться, что третье лицо установило свой собственный обработчик (все исключения записываются в файл журнала), как я могу создать новый рабочий поток Swing? (Я не хочу перехватывать исключения, созданные приложением хоста, в конце концов)

Резюме вопроса: 1. Как я могу проверить, какие потоки запущены для функцииfunc перешел вlauncher функция и увидеть их необработанный обработчик исключений? 2. Могу ли я установить отдельный диспетчер Swing для моей графической части и основной графической части приложения? (Если я выйду из OnCnClos во фрейме моей надстройки, стороннее приложение закроется)?

Update: Considering the anwser from lbalazscs Я пытаюсь использоватьsun.awt.exception.handler свойство, но оно не имеет никакого эффекта, исключения все еще остаются в файле журнала (поведение приложений по умолчанию). Я правильно это использую? (p.s .: Я на Яве 1.6)

Ответы на вопрос(1)

Ваш ответ на вопрос