Каковы стандартные возвращаемые значения для приложения командной строки?
-
21-09-2019 - |
Вопрос
Я знаю, что приложение командной строки должно возвращать 0 в случае успеха.Но существуют ли какие-либо «стандарты» для других ценностей?напримерНеверные аргументы и т. д.
Есть ли различия в Windows и Unix?
Решение
Стандартный набор кодов ошибок и соответствующие им сообщения присутствуют в errno.h.С этим можно сравнить возвращаемые значения системных вызовов.Если вы пишете свою собственную программу, то возвращаемое значение может быть таким, каким вы хотите.Обработка возвращаемых значений будет полностью зависеть от вас.
Другие советы
Вы правы, возврат 0 обычно означает успех, а любое другое значение — ошибку.
Я не думаю, что есть какие-то «стандарты» для других ценностей.По крайней мере, он широко не используется.Обычный способ — вывести сообщение об ошибке в стандартный вывод ошибок и вернуть уникальный идентификатор ошибки для каждого типа ошибки.Затем вы можете задокументировать коды ошибок на странице руководства или в другом документе.
Windows, похоже, использует тот же метод.например,
mkdir
верните 1 и напечатайте ~ «неправильный синтаксис»mkdir C:\alreay\existing\directory
верните также 1 и напечатайте ~ «каталог или файл уже существует»
примечание:сообщение не точное (перевод с французского)