在c#中,您可以使用Environment.Exit(n)将一个整数返回给底层调用者(例如,可以使用DOS脚本中的ERRORLEVEL变量对其进行测试)。
是否有关于这些代码的最佳做法?
我认为0 =没有错误......但是有数字保留吗?我可以使用负数吗?等
谢谢!
答案 0 :(得分:6)
零通常意味着没有错误。至于其他人,我认为没有保留集。我通常会定义我的应用程序的不同返回代码的含义并记录它们。
DOS只处理最多256个可能的返回码,但实际上我怀疑你会使用/需要那么多。
您可以使用负值,但请注意,负值并不一定意味着与正值有任何不同。
答案 1 :(得分:3)
我见过的返回代码的最广泛使用是在Robocopy中。它可能为其他应用程序提供指导。 Robocopy使用返回码作为标志:
0×10严重错误。 Robocopy没有 复制任何文件。这是一种用法 错误或由于不足而导致的错误 对源或访问权限 目的地目录。
0×08某些文件或目录可以 不被复制(发生了复制错误 并且超出了重试限制)。 进一步检查这些错误。
0×04某些不匹配的文件或 目录被检测到。检查一下 输出日志。家政可能是 必要的。
0×02一些额外的文件或目录 被发现了。检查输出日志。 可能需要一些家务管理。
0×01复制了一个或多个文件 成功(即新文件有) 到达)。
0×00没有发生错误,没有 复制完成了。来源和 目标目录树是 完全同步。