此方法用于获取标准错误流。通过SetError方法更改标准错误流后,可以使用此方法重新获取标准错误流。
句法:
public static System.IO.Stream OpenStandardError ();
返回值:此方法返回标准错误流。
示例:下面的代码首先检查字符串是否为GeeksForGeeks,如果不是,则程序调用SetError方法将错误信息重定向到文件,在重新获取标准错误流的过程中调用OpenStandardError方法,并指出该错误信息已写入文件。重新获取错误流之前,将StreamWriter.AutoFlush属性设置为true。这样可以确保将输出立即发送到控制台,而不是进行缓冲。
// C# program to illustrate the
// OpenStandardError() Method
using System;
using System.IO;
namespace GeeksforGeeks {
class GFG {
// Main Method
static void Main(string[] args)
{
Console.WriteLine("Please Write GeeksForGeeks");
string a;
a = Console.ReadLine();
// checks for a string to be GeeksforGeeks
if (!a.Equals("GeeksForGeeks")) {
// Write error information to a file.
Console.SetError(new StreamWriter(@".\Errorfile.txt"));
Console.Error.WriteLine("The String is not GeeksForGeeks");
Console.Error.Close();
// Reacquire the standard error stream.
var standardError = new StreamWriter(Console.OpenStandardError());
standardError.AutoFlush = true;
Console.SetError(standardError);
Console.Error.WriteLine("\nError information written"+
" to Errorfile.txt");
}
}
}
}
在Cmd上执行:
输出文件:
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.console.openstandarderror?view=netframework-4.8#System_Console_OpenStandardError