.net 为什么默认的exitcode是-1

.net 为什么默认的exitcode是-1,.net,compilation,development-environment,.net,Compilation,Development Environment,这不是一个问题,更像是一个奇怪的问题 在visual Studio(以及我遇到的其他一些应用程序)中,程序在退出时发布的默认代码(即exitcodes的“OK”)为-1 我很好奇为什么只是这样,为什么不是0,这听起来更符合逻辑 有没有人能更深入地了解为什么会这样以及它背后的历史,为什么widley使用-1作为默认exitcode 例如: 程序“[5208]dotnet.exe”已退出,代码为-1(0xFFFFFF) 当Main方法返回void时,0不是正确的退出代码吗?Environment.E

这不是一个问题,更像是一个奇怪的问题

在visual Studio(以及我遇到的其他一些应用程序)中,程序在退出时发布的默认代码(即exitcodes的“OK”)为-1

我很好奇为什么只是这样,为什么不是0,这听起来更符合逻辑

有没有人能更深入地了解为什么会这样以及它背后的历史,为什么widley使用-1作为默认exitcode

例如:

程序“[5208]dotnet.exe”已退出,代码为-1(0xFFFFFF)


当Main方法返回void时,0不是正确的退出代码吗?Environment.ExitCode的默认值为0。返回-1的一个很好的理由是故意停止调试。通常,任何异常终止(例如未处理的异常)都会生成一个非零值。