exit
v1.1.0
os . Exit ( exit . Forbidden ) // The user isn't permitted to perform this action
os . Exit ( exit . Unavailable ) // An API this program consumes isn't available
use semantic_exit :: { exit , Code } ;
exit ( Code :: Forbidden ) ;
exit ( Code :: Unavailable ) ;
import exit
exit . Code . Forbidden . exit ()
exit . Code . Unavailable . exit ()
Consulte a lista completa dos códigos de saída.
Convencionalmente, a saída de um programa com zero indica sucesso enquanto o diferente de zero indica falha.
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
Mas a exit
de chamada do sistema aceita valores entre 0 e 255, deixando 254 maneiras diferentes de expressar falha.
Os objetivos desta biblioteca são definir códigos de saída que são:
Ele define códigos em dois intervalos não reservados: 80-99 para erros do usuário e 100-119 para erros de software ou sistema.
Código de saída | Nome | Significado |
---|---|---|
0 | OK | O programa saiu com sucesso. |
1 | NotOK | O programa saiu sem sucesso, mas não dá um contexto extra sobre o que foi o fracasso. |
80 | UsageError | O programa saiu sem sucesso porque foi usado incorretamente. (Por exemplo, um argumento necessário foi omitido ou um valor inválido foi fornecido para uma bandeira.) |
81 | UnknownSubcommand | O programa saiu sem sucesso porque um subcomando não reconhecido foi invocado. (Usado pela CLI Multi-Tools.) |
82 | RequirementNotMet | O programa saiu, sem sucesso, porque um pré -requisito não foi atendido. |
83 | Forbidden | O programa saiu sem sucesso porque o usuário não está autorizado a executar a ação solicitada. |
84 | MovedPermanently | O programa saiu sem sucesso porque foi migrado para um novo local. |
100 | InternalError | O programa saiu, sem sucesso, devido a um problema em seu próprio código. (Usado em vez de 1 quando o problema é conhecido por estar no código ou dependências do programa.) |
101 | Unavailable | O programa saiu, sem sucesso, porque um serviço de que depende não estava disponível. (Por exemplo, um daemon local ou serviço remoto não respondeu, uma conexão foi fechada inesperadamente, um serviço HTTP respondeu com 503.) |
Ctrl
C
, por exemplo, você envia o sinal SIGINT
- cujo valor é 2 - e o programa sai com 130.)sysexits.h
foram originalmente definidos para sendmail
, mas foram usados em muitos lugares desde então. (Compare os códigos de saída semânticos com os códigos sysexits.h)