Console.OpenStandardError Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adquire o fluxo de erro padrão.
Sobrecargas
| Name | Description |
|---|---|
| OpenStandardError() |
Adquire o fluxo de erro padrão. |
| OpenStandardError(Int32) |
Adquire o fluxo de erro padrão, que é definido para um tamanho de buffer especificado. |
OpenStandardError()
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
Adquire o fluxo de erro padrão.
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
Devoluções
O fluxo de erro padrão.
Exemplos
O exemplo seguinte é um visualizador simples de ficheiros de texto que apresenta o conteúdo de um ou mais ficheiros de texto na consola. Se não existirem argumentos de linha de comandos, ou se não existirem ficheiros passados como argumentos de linha de comandos, o exemplo chama o SetError método para redirecionar informação de erro para um ficheiro, chama o OpenStandardError método no processo de readquirir o fluxo de erro padrão e indica que a informação de erro foi escrita num ficheiro.
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.
open System
open System.IO
let args = Environment.GetCommandLineArgs()[1..]
let mutable errorOutput = ""
// Make sure that there is at least one command line argument.
if args.Length < 1 then
errorOutput <- errorOutput + "You must include a filename on the command line.\n"
for file in args do
// Check whether the file exists.
if File.Exists file then
errorOutput <- errorOutput + $"'{file}' does not exist.\n"
else
// Display the contents of the file.
use sr = new StreamReader(file)
let contents = sr.ReadToEnd()
Console.WriteLine $"*****Contents of file '{file}':\n\n"
Console.WriteLine contents
Console.WriteLine "*****\n"
// 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.
use 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.
Note que a StreamWriter.AutoFlush propriedade é definida para true antes de readquirir o fluxo de erro. Isto garante que a saída será enviada imediatamente para a consola em vez de ser armazenada em buffer.
Observações
Este método pode ser usado para readquirir o fluxo de erro padrão depois de este ter sido alterado pelo SetError método.
Ver também
Aplica-se a
OpenStandardError(Int32)
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
- Origem:
- Console.cs
Adquire o fluxo de erro padrão, que é definido para um tamanho de buffer especificado.
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
Parâmetros
- bufferSize
- Int32
Este parâmetro não tem efeito, mas o seu valor deve ser maior ou igual a zero.
Devoluções
O fluxo de erro padrão.
Exceções
bufferSize é menor ou igual a zero.
Observações
Este método pode ser usado para readquirir o fluxo de erro padrão depois de este ter sido alterado pelo SetError método.