System.exit () в порядке. И я согласен с другими ответами, возврат к основному будет лучшим выходом - с точки зрения обслуживания. Когда ваш код расширяется, вы можете забыть, что маленький метод, выполняющий System.exit, должен отлаживать, чтобы запомнить его.
Однако вам нужно использовать выход только в том случае, если у вас есть скрипт, которому нужна информация об аварийном завершении. В противном случае в этом нет необходимости.
Насколько я помню, Java-программа по умолчанию завершает работу с 0, что означает нормальное завершение. Поэтому вы хотите использовать System.exit (n) для случаев, когда ваша программа завершает работу из-за какой-либо ошибки.
Пример (просто используя статические методы, которые вы, скорее всего, захотите создать ...):
public static void main(String[] args) {
try {
doStuff();
} catch (SomeRuntimeException e) {
// marching orders! Exit with errorcode
<log the error with sufficient info for debugging>
System.exit(1);
}
}
private static doStuff() {
// doing my thing ...
...
//then some error occurs and I have no other choice but to do a hard exit
throw new SomeRuntimeException( ... some info would be nice ...)
...
return
}