Я работаю с javax.swing
, чтобы создать приложение, которое генерирует формы из XML-схемы (с использованием библиотеки JAXFront) и хранит данные, заполненные пользователем их в XML-документы.
Я помещал блоки try-catch-finally, когда мне это нужно, но у меня есть небольшая проблема с перехватом исключений, когда основной поток завершается (потоки AWT все еще работают).
У меня есть два классы, которые выполняют основную работу, и другие классы, которые не важны для вопроса:
Основной класс : Он имеет следующую структуру. Инициализирует приложение и запускает основной фрейм
открытого класса Main {
public static void main (String [] args) {
readArgs (); // INI-файл с конфигурацией приложения
Модель model = initializeElements (args); // Мой класс модели
пытаться {
MyFrame mfr = новый MyFrame (название, модель);
mfr.visualize (); // Сборка вида и установка видимых
} catch (Excepion e) {
doCleanUp ();
System.exit (-1);
}
}
}
Класс кадра : генерирует события просмотра и прослушивания.
открытый класс MyFrame расширяет JFrame, реализует ActionListener, MenuListener {
// Некоторые атрибуты
// Другие методы, не имеющие значения
/ **
* Составьте элементы, добавьте слушателей и установите видимый фрейм
* /
public void visualize () {
generateFormPanel ();
setListeners ();
валидировать ();
setVisible (правда);
}
public MyFrame (String title, Modele model) {
супер (название);
createElementsUsing (модель);
}
public void actionPerformed (ActionEvent e) {
// Код для управления событиями
}
}
Что ж, проблема в следующем: Когда функция визуализации исключается из основного метода, создается и отображается представление. В этот момент я теряю контроль над перехватом исключений. Тогда мой вопрос: есть ли способ отловить возможные исключения RuntimeExceptions, сгенерированные после этой точки .
Надеюсь, вы понимаете мой английский и можете ответить на вопрос.
Заранее спасибо.