Pergunta

Eu sei que um aplicativo de linha de comando deve retornar 0 no sucesso. Mas existem "padrões" para o que outros valores se referem? por exemplo, argumentos inválidos, etc.

Existem diferenças no Windows e Unix?

Foi útil?

Solução

Um conjunto padrão de códigos de erro e suas mensagens correspondentes estão presentes no errno.h. Os valores de retorno de chamadas do sistema podem ser comparados com isso. Se você está escrevendo seu programa personalizado, o valor de retorno pode ser o que você deseja que seja. Lidar com os valores de retorno dependerá inteiramente de você.

Outras dicas

Você está certo, um retorno de 0 geralmente significa sucesso e qualquer outro valor um erro.

Eu não acho que exista "padrões" para outros valores. Pelo menos não é amplamente utilizado. A maneira usual é imprimir a mensagem de erro na saída de erro padrão e retornar um identificador de erro exclusivo para cada tipo de erro. Em seguida, você pode documentar os códigos de erro na página ou outro documentação do documento.

O Windows parece usar o mesmo método. por exemplo,

  • mkdir retornar 1 e imprimir ~ 'sintaxe incorreta'
  • mkdir C:\alreay\existing\directory retornar também 1 e imprimir ~ 'Direcotry ou arquivo já existe'

Nota: A mensagem não é exata (traduzida do francês)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top