在Exit上正确使用返回错误代码

时间:2013-01-09 17:19:42

标签: c++ c

对于Windows(非GUI)中的C / C ++应用程序,不同故障的错误代码应该是什么?我已经看过各种列表,例如来自IBM和其他人,但我想知道在程序退出时是否对用户给出的典型错误代码达成了一些共识。

3 个答案:

答案 0 :(得分:3)

exit的参数有三个可移植值:0EXIT_FAILUREEXIT_SUCCESS0相当于EXIT_SUCCESS

答案 1 :(得分:2)

来自:http://www.cplusplus.com/reference/cstdlib/EXIT_SUCCESS/

成功退出计划:

exit(EXIT_SUCCESS);

失败退出程序:

exit(EXIT_FAILURE);

来自Wikipedia

  

除了宏标准EXIT_SUCCESS和EXIT_FAILURE之外   没有定义返回码的含义。使用规则   返回代码在不同平台上有所不同(请参阅特定于平台的   部分)。

在维基百科:

  

<强> DOS

     

在DOS术语中,errorlevel是由返回的整数退出代码   可执行程序或子程序。错误级别通常来自   0到255.在DOS中,只有256个错误代码可用。

     

<强>窗

     

Windows使用32位有符号整数作为退出代码。[9]如果一个过程   初始化失败,可能会返回Windows系统错误代码。[10]   Windows系统错误代码可在线获取。[11]

     

例如,通过命令行直接引用退出代码   从DOS继承的errorlevel术语中的解释器CMD.exe。   .NET Framework进程和Windows PowerShell将其称为   Process对象的ExitCode属性。

根据维基百科,以下link包含与Windows平台相关的错误代码

答案 2 :(得分:1)

据我所知,没有任何此类标准。唯一的标准是返回EXIT_SUCCESS(来自stdlib.h),以防它成功返回。这有助于调用程序的脚本检查是否成功。您返回的错误代码需要为您的程序准备好。 POSIX建议从main返回0-255。通常0是EXIT_SUCCESS。

如果您只有一个特定的故障返回,则可以使用EXIT_FAILURE。