JAVA, System.exit()? Как мне это использовать?

Я изучаю Java уже несколько месяцев, и я прошел через это:

System.exit (значение);

Я думаю, что вы можете использовать его для тестирования своего кода в зависимости от того, какое "значение" вы ему даете.

Например, если я хочу проверить, был ли цикл использован или работал как следует, я могу сделать:

if(value == 1)
{
    System.out.println("Hi");
    System.exit(0);
}

Но после небольшого тестирования выяснилось, что я на самом деле не могу увидеть "значение" после выполнения цикла.

Я думаю об этом правильно? Есть ли другое использование этого кода?

6 ответов

Решение

System.exit(value) завершает JVM и использует value как возвращаемое значение процесса. Так, например, в *nix системах вы можете использовать:

$ echo `java MyJavaClass`  

Метод java.lang.System.exit() завершает текущую виртуальную машину Java.

Аргумент служит кодом состояния; условно, ненулевой код состояния указывает на ненормальное завершение.

Аналогично, код состояния 0 возвращает нормальное завершение;

System.exit(0) //exit signaling the process terminated successfully

System.exit(-1) //exit signaling the process did not terminate successfully

Чтобы проверить код выхода в Eclipse, переключитесь в представление "Отладка". Например, сразу после запуска:

public class Test {
  public static void main(String[] args) {
    System.exit(55);
  }
}

верхнее левое окно в представлении отладки содержит:

<terminated>Test [Java Application] 
    <terminated, exit value: 55>C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe (Jun 17, 2015, 11:21:15 AM) 
System.exit(value)

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

I think you can use it to test your code depending on what "value" you give to it.

Я бы не использовал эту методологию для тестирования своего кода. Вместо этого подумайте о написании модульных тестов для проверки вашего кода.

Документация (как обычно) очень поможет -.- . System.exit завершает JVM.

Метод System.exit() можно использовать для завершения программы, поэтому при использовании этого метода он будет завершать программу по достижении значения параметра метода System.exit().

Другие вопросы по тегам