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 ()
请参阅“退出代码”的完整列表。
通常,退出零表示成功,而非零表示失败。
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
但是系统呼叫exit
接受0到255之间的值,留下254种不同表达故障的方式。
该图书馆的目标是定义:
它以两个未保留的范围定义代码:用户错误80-99,软件或系统错误为100-119定义。
退出代码 | 姓名 | 意义 |
---|---|---|
0 | OK | 该计划成功退出了。 |
1 | NotOK | 该计划未能成功地退出,但没有关于失败的额外背景。 |
80 | UsageError | 该程序由于错误使用而失败,因为它被错误地使用了。 (例如,省略了所需的论点或为标志提供了无效的值。) |
81 | UnknownSubcommand | 该程序失败了,因为调用了未认可的子命令。 (由CLI多工具使用。) |
82 | RequirementNotMet | 该计划未能成功地退出,因为没有达到先决条件。 |
83 | Forbidden | 该程序未能成功地退出,因为用户无权执行请求的操作。 |
84 | MovedPermanently | 该程序因已迁移到新位置而失败。 |
100 | InternalError | 该程序因其自己的代码中存在问题而失败。 (已知问题与程序的代码或依赖关系相关时,而不是1使用。) |
101 | Unavailable | 该程序因其依赖的服务而失败而失败。 (例如,本地守护程序或远程服务没有响应,连接意外关闭,HTTP服务响应503。) |
Ctrl
终止时,其退出C
为128 +信号的SIGINT
。 130.)sysexits.h
代码最初是为sendmail
定义的,但此后已被许多地方使用。 (将语义退出代码与sysexits.H代码进行比较)