Стандарт POSIX ограничивает код состояния выхода для приложения int
. Это означает, что вы можете вернуть указанный c код для указанной ошибки c, например:
0 - Нет ошибок
1 - IO Exception
2 - Runtime Exception
3 - HD head cra sh
et c.
Но что, если ваше приложение зависло по нескольким причинам? Способ передать это - вернуть сумму кодов выхода, которые работают немного похоже на 777 при работе с разрешениями :
0 - без сбоев
1 - IO Exception
2 - Runtime Exception
4 - HD head cra sh
Теперь, если вы можете суммировать исключения, и сумма скажет вам, что пошло не так:
3 = 1 + 2 = исключение ввода-вывода + исключение времени выполнения
5 = 1 + 4 = исключение ввода-вывода + кратер головки HD sh
6 = 2 + 4 = исключение времени выполнения + ускорение головки HD sh
7 = 1 + 2 + 4 = IO Exception + Runtime Exception + HD head cra sh
Это может быть причиной, по которой они возвращают сумму кодов выхода.