C# 关于控制台应用程序返回的错误代码,最佳做法是什么?

C# 关于控制台应用程序返回的错误代码,最佳做法是什么?,c#,console-application,dos,C#,Console Application,Dos,在c#中,您可以使用Environment.Exit(n)(例如,可以使用DOS脚本中的ERRORLEVEL变量对其进行测试)向底层调用方返回一个整数 是否有关于这些准则的最佳实践 我认为0=没有错误。。。但是有保留号码吗?我能用负数吗?等 谢谢 0通常意味着没有错误。至于其他人,我不认为有保留设置。我通常会定义我的应用程序的不同返回代码的含义,并记录它们 DOS最多只能处理256个可能的返回码,但实际上,我怀疑您是否会使用/需要这么多 您可以使用负值,但请注意,负值并不一定意味着与正值有任何不

在c#中,您可以使用Environment.Exit(n)(例如,可以使用DOS脚本中的ERRORLEVEL变量对其进行测试)向底层调用方返回一个整数

是否有关于这些准则的最佳实践

我认为0=没有错误。。。但是有保留号码吗?我能用负数吗?等


谢谢

0通常意味着没有错误。至于其他人,我不认为有保留设置。我通常会定义我的应用程序的不同返回代码的含义,并记录它们

DOS最多只能处理256个可能的返回码,但实际上,我怀疑您是否会使用/需要这么多


您可以使用负值,但请注意,负值并不一定意味着与正值有任何不同。

我见过的最广泛的返回代码使用是在Robocopy中。它可以为其他应用程序提供指导。Robocopy使用返回代码作为标志:

0×10严重误差。机器人疗法没有 复制任何文件。这是一种用法 错误或由于不足而导致的错误 对源或服务器的访问权限 目标目录

0×08可能会删除某些文件或目录 无法复制(发生复制错误 并且已超过重试限制)。 进一步检查这些错误

0×04某些不匹配的文件或 已检测到目录。检查 输出日志。客房管理可能是 必要的

0×02一些额外的文件或目录 被发现。检查输出日志。 可能需要一些内务管理

0×01复制了一个或多个文件 成功(即,已创建新文件) 到达)

0×00没有发生错误,也没有 复制完成了。来源和 目标目录树是 完全同步