在下面的测试程序中,错误输出被正确写入Error.txt。
using System;
using System.IO;
public class Test{
public static void Main(string[] args){
Console.SetOut(new StreamWriter("Output.txt", true));
Console.SetError(new StreamWriter("Error.txt", true));
int[] test = new int[1];
Console.Error.WriteLine(test[0]);
}
}
但是,如果我们换行
Console.Error.WriteLine(test[0]);
至
Console.Error.WriteLine(test[7]);
这将导致异常,此异常的错误消息将打印到控制台而不是文件。如何以编程方式对其进行设置,以便将系统引发的异常的错误消息也重定向到文件?
由于运行该程序的上下文,简单的控制台重定向(2> 或 >)不是一个选项。