Исключение нулевого указателя Java не завершает программу - PullRequest
1 голос
/ 12 октября 2011

мой вопрос прост. Как заставить JAVA завершить программу, которую я пишу, когда происходит какое-либо Исключение?

Я использую Swing, и когда выдается исключение NullPointer, программа продолжает работать в фоновом режиме: | Работая таким образом, я могу только закрыть его из диспетчера задач. Плохо то, что когда я снова запускаю ту же программу, создается второй экземпляр, и я не знаю почему, но когда у меня более 1 экземпляра одной и той же программы, один раз я получаю нулевое исключение, в следующий раз нет в следующий раз да, в следующий раз нет .... Полная случайность.

Заранее спасибо!

Ответы [ 3 ]

3 голосов
/ 12 октября 2011

Эта статья будет интересна для вас. ловить исключения (которые, в идеале, вы должны устранять).

Идея заключается в том, что вы можете подключить прокси-сервер для переноса вызова события Swing и перехватывать любые возникающие исключения. Затем вы можете решить, что делать - предупредить кого-либо, выйти и т. Д.

1 голос
/ 12 октября 2011

Очевидно, что в вашей программе есть, по крайней мере, ошибка, которую вы можете попытаться устранить с помощью отладчика.

Что касается вашего вопроса, исключение прекратит работу вашей программы, если она не будет обнаружена.Поэтому, если вы всегда выбрасываете свои исключения, в том числе в методе main, то когда это произойдет, программа завершит работу.

Однако, как сказал Mac в комментарии

Приложение Swingимеет цикл событий в пути.Цикл событий ловит Throwable (я полагаю), поэтому он не может точно контролировать то, что поймано обычным способом.

0 голосов
/ 12 октября 2011

Вы должны исправить ваши ошибки в вашей программе.Исключение прекратит работу программы, если оно не перехвачено, вероятно, вы перехватываете исключение.Вы всегда можете выйти из программы, набрав System.exit(0);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...