Console.OpenStandardError Method in C#
Last Updated :
06 May, 2019
Improve
This method is used to acquire a standard error stream. This method can be used to reacquire the standard error stream after it has been changed by the SetError method.
Syntax:
csharp
Executing on Cmd:
Output File:
Reference:
public static System.IO.Stream OpenStandardError ();Returns: This method returns the standard error stream. Example: The below code first checks for the string to be GeeksForGeeks and if not so then the program calls the SetError method to redirect error information to a file, calls the OpenStandardError method in the process of reacquiring the standard error stream, and indicates that error information was written to a file. The StreamWriter.AutoFlush property is set to true before reacquiring the error stream. This ensures that output will be sent to the console immediately rather than buffered.
// 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");
}
}
}
}

