Различие в Системе. выход (0), System.exit (-1), System.exit (1) в Java

Я хотел бы знать различие между следующим в Java

System.exit(0);
System.exit(-1);
System.exit(1);

Когда я должен использовать вышеупомянутый код соответственно?

273
задан ROMANIA_engineer 24 May 2015 в 07:59
поделиться

2 ответа

Ненулевой код состояния выхода, обычно указывает на аномальное завершение работы. если n != 0, то программист должен сам применить значение различных n.

От https://docs.oracle.com/javase/7/docs/api/java/lang/System.html.

11
ответ дан 23 November 2019 в 02:13
поделиться

Параметр exit должен определять, хорошо или плохо прошло выполнение программы. Это своего рода наследственность от старых языков программирования, где полезно знать, если что-то пошло не так и что пошло не так.

Код выхода - это

  • 0, если выполнение прошло нормально;
  • 1, -1, whatever != 0, если произошла какая-то ошибка, вы можете использовать разные значения для разных видов ошибок.

Если я правильно понимаю, коды выхода раньше были просто положительными числами (я имею в виду в UNIX) и в соответствии с диапазоном:

  • 1-127 - это коды, определяемые пользователем (генерируемые вызовом exit(n))
  • 128-255 - это коды, генерируемые при завершении работы из-за различных сигналов unix, таких как SIGSEGV или SIGTERM

Но я не думаю, что это должно вас волновать при кодировании на Java, это просто небольшая информация. Это полезно, если вы планируете, чтобы ваши программы взаимодействовали со стандартными инструментами.

243
ответ дан 23 November 2019 в 02:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: