Я хотел бы знать различие между следующим в Java
System.exit(0);
System.exit(-1);
System.exit(1);
Когда я должен использовать вышеупомянутый код соответственно?
Ненулевой код состояния выхода, обычно указывает на аномальное завершение работы. если n != 0
, то программист должен сам применить значение различных n.
От https://docs.oracle.com/javase/7/docs/api/java/lang/System.html.
Параметр exit должен определять, хорошо или плохо прошло выполнение программы. Это своего рода наследственность от старых языков программирования, где полезно знать, если что-то пошло не так и что пошло не так.
Код выхода - это
0
, если выполнение прошло нормально;1
, -1
, whatever != 0
, если произошла какая-то ошибка, вы можете использовать разные значения для разных видов ошибок. Если я правильно понимаю, коды выхода раньше были просто положительными числами (я имею в виду в UNIX) и в соответствии с диапазоном:
1-127
- это коды, определяемые пользователем (генерируемые вызовом exit(n)
)128-255
- это коды, генерируемые при завершении работы из-за различных сигналов unix, таких как SIGSEGV или SIGTERMНо я не думаю, что это должно вас волновать при кодировании на Java, это просто небольшая информация. Это полезно, если вы планируете, чтобы ваши программы взаимодействовали со стандартными инструментами.