c#如何将错误代码和错误文本返回给调用应用程序?

c#如何将错误代码和错误文本返回给调用应用程序?,c#,C#,我知道如何在c#中返回错误代码,我不确定是否有一种特殊的方法来设置返回错误文本,您也可以得到它 这是针对控制台应用程序的 { class Program { static int Main(string[] args) { if (args == null) { Console.WriteLine("args is null"); // Check for null array } Cons

我知道如何在c#中返回错误代码,我不确定是否有一种特殊的方法来设置返回错误文本,您也可以得到它

这是针对控制台应用程序的

{
class Program
{
    static int Main(string[] args)
    {
        if (args == null)
        {
            Console.WriteLine("args is null"); // Check for null array
        }

        Console.Write("args length is ");
        Console.WriteLine(args.Length); // Write array length ( Number of items )

        for (int i = 0; i < args.Length; i++) // Loop through array
        {
            string argument = args[i];
            Console.Write("args index ");
            Console.Write(i); // Write index
            Console.Write(" is [");
            Console.Write(argument); // Write string
            Console.WriteLine("]");
        }

        return 0; // error code exit

    }
}
{
班级计划
{
静态int Main(字符串[]args)
{
如果(args==null)
{
Console.WriteLine(“args为null”);//检查null数组
}
Console.Write(“args长度为”);
Console.WriteLine(args.Length);//写入数组长度(项目数)
for(int i=0;i
}

您可以设置<代码>0
表示“正常”。任何其他值都被视为坏值

Environment.ExitCode = -1; /* something went wrong!!! */
错误文本没有属性,但您可以提供标准输出的属性

完整示例:

try
{
}
catch (Exception ex)
{
    Environment.ExitCode = -1;
    Console.Out.WriteLine(ex.Message);

    Application.Exit();
}

不要将它包装在try-catch块中,它将冒泡到调用应用程序

{
class Program
{
    static int Main(string[] args)
    {
        if (args == null)
        {
            Console.WriteLine("args is null"); // Check for null array
        }

        Console.Write("args length is ");
        Console.WriteLine(args.Length); // Write array length ( Number of items )

        for (int i = 0; i < args.Length; i++) // Loop through array
        {
            string argument = args[i];
            Console.Write("args index ");
            Console.Write(i); // Write index
            Console.Write(" is [");
            Console.Write(argument); // Write string
            Console.WriteLine("]");
        }

        return 0; // error code exit

    }
}
如果您需要在退出代码之前进行清理,那么

   Try
   {


   }
   Catch(Exception e)
   {
      throw;

   }
这将把错误抛给调用应用程序,调用应用程序可以决定如何处理它


您还需要记录您的方法可能引发的异常,以便调用应用程序知道要准备处理哪些异常。

您是否有任何代码可以向我们展示您尝试了什么/您希望看到什么?我不确定如何设置错误文本。我目前唯一知道的方法是:返回0,或者不管退出代码是什么,我想返回。我的问题仍然是-这是一个控制台应用程序,窗体应用程序。。。什么?如果你能展示一些代码,这样我们就可以确定你想要什么。添加了示例代码和注释。我不知道;我没有任何真正的代码,因为我刚刚开始测试。这不会给调用应用程序异常信息。它只告诉调用应用程序发生了异常。这是
ErrorCode
字段的意图,是的。OP需要错误代码,并将异常文本传递回调用应用程序。可能我遗漏了什么,但是,将退出代码设置为0以外的值不会传递调用应用程序发生的异常。这是控制台的目的。Out。不,这将抛出WER服务来清理应用程序的混乱。@Patrickhoffman是的,但是,对于需要将异常信息完整地报告回调用应用程序的异常,这似乎是合适的。因此,如果我理解正确,抛出异常将返回错误代码和相关文本?它将返回。它将返回整个异常对象,原始堆栈跟踪丢失;使用
throw取而代之。这不会编译,因为大写字母是错误的。