c#如何将错误代码和错误文本返回给调用应用程序?
我知道如何在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
{
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代码>取而代之。这不会编译,因为大写字母是错误的。