Учитывая, что это ваша программа, я предлагаю вам сделать следующее:
Сначала измените метод main
, чтобы все выполнялось в блоке try / catch, который сообщает обо всех неперехваченных исключениях;например, что-то вроде этого:
public static void main(String[] arghhhhh) {
try {
...
} catch (Throwable ex) {
System.err.println("Uncaught exception - " + ex.getMessage());
ex.printStackTrace(System.err);
}
}
Во-вторых, ищите где-нибудь, что вы можете "раздавить" неожиданные исключения, перехватывая их и не сообщая о них.
В-третьих, ищите где-нибудь, что вы могли бы вызватьSystem.exit()
молча.Это может произойти и в библиотеках ... если вы используете плохо написанную.
Если эти меры не дают вам ответов, попробуйте выяснить, КАК приложение закрывается,
- путем запуска из отладчика с точками останова, установленными в ключевых точках, или
- путем добавления операторов печати трассировки в ключевых точках.