Leer en inglés

Compartir a través de


Console.OpenStandardError Método

Definición

Adquiere el flujo de error estándar.

Sobrecargas

OpenStandardError()

Adquiere el flujo de error estándar.

OpenStandardError(Int32)

Adquiere el flujo de error estándar, que se establece en un tamaño de búfer especificado.

OpenStandardError()

Source:
Console.cs
Source:
Console.cs
Source:
Console.cs

Adquiere el flujo de error estándar.

C#
public static System.IO.Stream OpenStandardError();

Devoluciones

El flujo de error estándar.

Ejemplos

En el ejemplo siguiente se muestra un visor de archivos de texto simple que muestra el contenido de uno o varios archivos de texto en la consola. Si no hay argumentos de línea de comandos o si no existen archivos pasados como argumentos de línea de comandos, el ejemplo llama al método para redirigir la SetError información de error a un archivo, llama al OpenStandardError método en el proceso de volver a buscar la secuencia de errores estándar e indica que la información de error se escribió en un archivo.

C#
using System;
using System.IO;

public class ViewTextFile
{
   public static void Main()
   {
      String[] args = Environment.GetCommandLineArgs();
      String errorOutput = "";
      // Make sure that there is at least one command line argument.
      if (args.Length <= 1)
         errorOutput += "You must include a filename on the command line.\n";

      for (int ctr = 1; ctr <= args.GetUpperBound(0); ctr++)  {
         // Check whether the file exists.
         if (!File.Exists(args[ctr])) {
            errorOutput += String.Format("'{0}' does not exist.\n", args[ctr]);
         }
         else {
            // Display the contents of the file.
            StreamReader sr = new StreamReader(args[ctr]);
            String contents = sr.ReadToEnd();
            sr.Close();
            Console.WriteLine("*****Contents of file '{0}':\n\n",
                              args[ctr]);
            Console.WriteLine(contents);
            Console.WriteLine("*****\n");
         }
      }

      // Check for error conditions.
      if (!String.IsNullOrEmpty(errorOutput)) {
         // Write error information to a file.
         Console.SetError(new StreamWriter(@".\ViewTextFile.Err.txt"));
         Console.Error.WriteLine(errorOutput);
         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 ViewTextFile.Err.txt");
      }
   }
}
// If the example is compiled and run with the following command line:
//     ViewTextFile file1.txt file2.txt
// and neither file1.txt nor file2.txt exist, it displays the
// following output:
//     Error information written to ViewTextFile.Err.txt
// and writes the following text to ViewTextFile.Err.txt:
//     'file1.txt' does not exist.
//     'file2.txt' does not exist.

Tenga en cuenta que la StreamWriter.AutoFlush propiedad se establece en antes de volver a true preguntar el flujo de error. Esto garantiza que la salida se enviará a la consola inmediatamente en lugar de almacenar en búfer.

Comentarios

Este método se puede usar para volver a adquirir la secuencia de errores estándar después de que el SetError método la haya cambiado.

Consulte también

Se aplica a

.NET 10 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

OpenStandardError(Int32)

Source:
Console.cs
Source:
Console.cs
Source:
Console.cs

Adquiere el flujo de error estándar, que se establece en un tamaño de búfer especificado.

C#
public static System.IO.Stream OpenStandardError(int bufferSize);

Parámetros

bufferSize
Int32

Este parámetro no tiene ningún efecto, pero su valor debe ser mayor o igual que cero.

Devoluciones

El flujo de error estándar.

Excepciones

bufferSize es menor o igual que cero.

Comentarios

Este método se puede usar para volver a adquirir la secuencia de errores estándar después de que el SetError método la haya cambiado.

Consulte también

Se aplica a

.NET 10 y otras versiones
Producto Versiones
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1