Console.OpenStandardError Console.OpenStandardError Console.OpenStandardError Console.OpenStandardError Method

Определение

Получает стандартный поток сообщений об ошибках.Acquires the standard error stream.

Перегрузки

OpenStandardError() OpenStandardError() OpenStandardError() OpenStandardError()

Получает стандартный поток сообщений об ошибках.Acquires the standard error stream.

OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32)

Получает стандартный поток сообщений об ошибках, для которого установлен заданный размер буфера.Acquires the standard error stream, which is set to a specified buffer size.

OpenStandardError() OpenStandardError() OpenStandardError() OpenStandardError()

Получает стандартный поток сообщений об ошибках.Acquires the standard error stream.

public:
 static System::IO::Stream ^ OpenStandardError();
public static System.IO.Stream OpenStandardError ();
static member OpenStandardError : unit -> System.IO.Stream
Public Shared Function OpenStandardError () As Stream

Возвраты

Стандартный поток сообщений об ошибках.The standard error stream.

Примеры

Следующий пример является средство просмотра простой текстовый файл, отображающее содержимое один или несколько текстовых файлов в консоль.The following example is a simple text file viewer that displays the contents of one or more text files to the console. Если аргументы командной строки, или если отсутствуют файлы, передаваемые в качестве аргументов командной строки, в примере вызывается SetError вызывает метод, чтобы перенаправить сведения об ошибке в файл OpenStandardError метод находится в процессе повторного запроса в стандартную ошибку потоковую передачу и указывает, что сведения об ошибке были записаны в файл.If there are no command line arguments, or if any files passed as command line arguments do not exist, the example 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.

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.
Imports System.IO

Module ViewTextFile
   Public Sub Main()
      Dim args() As String = Environment.GetCommandLineArgs()
      Dim errorOutput As String = ""
      ' Make sure that there is at least one command line argument.
      If args.Length <= 1 Then
         errorOutput += "You must include a filename on the command line." +
                        vbCrLf
      End If
      
      For ctr As Integer = 1 To args.GetUpperBound(0)
         ' Check whether the file exists.
         If Not File.Exists(args(ctr)) Then
            errorOutput += String.Format("'{0}' does not exist.{1}",
                                         args(ctr), vbCrLf)
         Else
            ' Display the contents of the file.
            Dim sr As New StreamReader(args(ctr))
            Dim contents As String = sr.ReadToEnd()
            sr.Close()
            Console.WriteLine("***** Contents of file '{0}':{1}{1}",
                              args(ctr), vbCrLf)
            Console.WriteLine(contents)
            Console.WriteLine("*****{0}", vbCrLf)
         End If
      Next

      ' Check for error conditions.
      If Not String.IsNullOrEmpty(errorOutput) Then
         ' 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.
         Dim standardError As New StreamWriter(Console.OpenStandardError())
         standardError.AutoFlush = True
         Console.SetError(standardError)
         Console.Error.WriteLine("{0}Error information written to ViewTextFile.Err.txt",
                                 vbCrLf)
      End If
   End Sub
End Module
' 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.

Обратите внимание, что StreamWriter.AutoFlush свойству true до повторного запроса в поток ошибок.Note that 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.

Комментарии

Этот метод можно использовать для повторного запроса в стандартный поток ошибок, после его изменения SetError метод.This method can be used to reacquire the standard error stream after it has been changed by the SetError method.

Дополнительно

OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32)

Получает стандартный поток сообщений об ошибках, для которого установлен заданный размер буфера.Acquires the standard error stream, which is set to a specified buffer size.

public:
 static System::IO::Stream ^ OpenStandardError(int bufferSize);
public static System.IO.Stream OpenStandardError (int bufferSize);
static member OpenStandardError : int -> System.IO.Stream
Public Shared Function OpenStandardError (bufferSize As Integer) As Stream

Параметры

bufferSize
Int32 Int32 Int32 Int32

Размер буфера внутреннего потока.The internal stream buffer size.

Возвраты

Стандартный поток сообщений об ошибках.The standard error stream.

Исключения

Значение bufferSize не больше нуля.bufferSize is less than or equal to zero.

Комментарии

Этот метод можно использовать для повторного запроса в стандартный поток ошибок, после его изменения SetError метод.This method can be used to reacquire the standard error stream after it has been changed by the SetError method.

Дополнительно

Применяется к