C# Main方法返回值 -0004

简介

Main方法的返回值是程序的退出码(exit code),主要是用来告诉系统:程序是否正常执行完毕。

在linux系,exit code的标准定义是:

  • 0- success

  • 1- general errors

  • 126- permission issue

  • 127-Illegal command

  • 128-Invalid arguments and fatal errors

  • 255-Out of range

返回值是void类型

static void Main()
{
  //...
}

返回值是int类型

static int Main()
{
  //...
  return 0;
}

linux/mac查看返回值

运行程序:

dotnet run

运行完上面之后,立马运行下面命令:

echo $?
  • $? 保存的是最近一次程序运行的exit code

  • 注意In Unix (Posix), the exit code is an 8-bit value: 0-255.

Windows获取返回值

  • 运行在windows中的程序,main()方法返回的状态码会存储在环境变量ERRORLEVEL中;

  • 示例Program.cs:

using System;

namespace _0004MainReturnValue
{
    class Program
    {
        static int Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            return 0;
        }
    }
}

使用csc编译Program.cs 生成Program.exe可执行文件

csc.exe Program.cs

创建一个批处理文件test.bat来执行Program.exe,并获取其返回值。

@echo off
Program.exe
@if "%ERRORLEVEL%" == "0" goto success

:failed
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end

:success
echo Execution succeeded
echo Return value = %ERRORLEVEL%
goto end

:end

  

原文地址:https://www.cnblogs.com/codesee/p/13021705.html