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