当前位置:  开发笔记 > 编程语言 > 正文

应用程序支持哪些"标准"应用程序返回/退出代码?

如何解决《应用程序支持哪些"标准"应用程序返回/退出代码?》经验,为你挑选了4个好方法。

是否有标准的应用程序返回代码集?比如返回0表示成功1表示失败,然后等等?

我有一个Windows Server应用程序,我正在添加一些返回错误代码,并希望坚持标准代码,除了我将需要的应用程序特定的代码.



1> Douglas Leed..:

我认为唯一的标准是0表示成功,非零表示失败.这更像是一种惯例,而不是一种标准.



2> gioele..:

也许你可以采用一些Unix约定.

在另一个答案中,用户大卫建议

sysexits.h有一个标准退出代码列表.它似乎可以追溯到至少1993年和一些像Postfix这样的大项目使用它,所以我想它是要走的路.

从OpenBSD手册页:

根据样式(9),在结束程序时,使用任意值调用exit(3)来指示失败条件并不是一个好习惯.相反,应该使用来自sysexits的预定义退出代码,因此进程的调用者可以在不查找源代码的情况下粗略估计失败类.

这是Debian系统上出现的列表:

#define EX_USAGE        64      /* command line usage error */
#define EX_DATAERR      65      /* data format error */
#define EX_NOINPUT      66      /* cannot open input */    
#define EX_NOUSER       67      /* addressee unknown */    
#define EX_NOHOST       68      /* host name unknown */
#define EX_UNAVAILABLE  69      /* service unavailable */
#define EX_SOFTWARE     70      /* internal software error */
#define EX_OSERR        71      /* system error (e.g., can't fork) */
#define EX_OSFILE       72      /* critical OS file missing */
#define EX_CANTCREAT    73      /* can't create (user) output file */
#define EX_IOERR        74      /* input/output error */
#define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
#define EX_PROTOCOL     76      /* remote error in protocol */
#define EX_NOPERM       77      /* permission denied */
#define EX_CONFIG       78      /* configuration error */

在文件内部/usr/include/sysexits.h可以找到这些错误代码的更详细描述.



3> Laurence Gon..:

标准状态代码是EXIT_SUCCESSEXIT_FAILURE定义的stdlib.h.然而,几乎所有人都分别使用0和1.某些软件将针对不同类型的错误使用不同的非零代码.



4> David..:

应用程序不应该遵循标准的退出代码集。

但是,您提到过一些成功的常见问题,例如0。根据所使用的操作系统和工具,您可以查看类似应用程序的退出代码并进行模仿。

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有