Не выбрасывайте исключение, если у вас действительно нет исключительного состояния.System.exit(int)
существует именно по этой причине.Используйте его.
РЕДАКТИРОВАТЬ: Я думаю, что я мог неправильно прочитать ваш вопрос.Я думал, что вы спрашиваете, когда вы хотите нормально выйти из JVM, но сигнализируете, что что-то идет не так, лучше ли выкинуть исключение или использовать System.exit
.
Однако если проблемапроисходит то, что уже указано в исключении Java, хорошо просто оставить это исключение необработанным.Вам не нужно перехватывать исключение и вызывать System.exit
.
. Если у вас есть выбор: бросить свое собственное исключение или вызвать System.exit
, подумайте, является ли условие ошибки чем-то, чтовозможно, может быть обработан некоторым кодом Java, который вызывает ваш метод.Если ошибка возникает непосредственно в методе main
, то, вероятно, никогда не будет вызывающей стороны для обработки исключения, поэтому вам, вероятно, следует вызвать System.exit
.В противном случае обычно лучше генерировать исключение - но не RuntimeException
, вам, вероятно, следует использовать тип исключения, который надлежащим образом представляет возникшую ошибку.При необходимости напишите свой собственный подкласс RuntimeException
.