Console.OpenStandardError Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Beolvasja a standard hibastreamet.
Túlterhelések
| Name | Description |
|---|---|
| OpenStandardError() |
Beolvasja a standard hibastreamet. |
| OpenStandardError(Int32) |
Beolvasja a szabványos hibafolyamot, amely egy megadott pufferméretre van beállítva. |
OpenStandardError()
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
Beolvasja a standard hibastreamet.
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
Válaszok
A standard hibastream.
Példák
Az alábbi példa egy egyszerű szövegfájl-megjelenítő, amely egy vagy több szövegfájl tartalmát jeleníti meg a konzolon. Ha nincsenek parancssori argumentumok, vagy ha a parancssori argumentumként átadott fájlok nem léteznek, a példa meghívja a SetError metódust, hogy átirányítsa a hibainformációkat egy fájlba, meghívja a OpenStandardError metódust a standard hibastream újbóli lekérésének folyamatában, és azt jelzi, hogy a hibainformációk fájlba lettek írva.
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.
Vegye figyelembe, hogy a StreamWriter.AutoFlush tulajdonság a hibastream újbóli létrehozása előtt van beállítva true . Ez biztosítja, hogy a kimenet a pufferelés helyett azonnal a konzolra legyen küldve.
Megjegyzések
Ezzel a módszerrel újra lekéri a standard hibastreamet, miután a metódus módosította SetError .
Lásd még
A következőre érvényes:
OpenStandardError(Int32)
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
- Forrás:
- Console.cs
Beolvasja a szabványos hibafolyamot, amely egy megadott pufferméretre van beállítva.
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
Paraméterek
- bufferSize
- Int32
Ennek a paraméternek nincs hatása, de az értékének nullánál nagyobbnak vagy egyenlőnek kell lennie.
Válaszok
A standard hibastream.
Kivételek
bufferSize nullánál kisebb vagy egyenlő.
Megjegyzések
Ezzel a módszerrel újra lekéri a standard hibastreamet, miután a metódus módosította SetError .