C#:
Ghi vào lỗi chuẩn

Làm thế nào:

Trong C#, viết vào stderr bằng cách sử dụng Console.Error.WriteLine(). Nó tương tự như Console.WriteLine(), chỉ là nhắm vào luồng lỗi.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Thông điệp Đầu ra Chuẩn."); // Đi tới stdout
        Console.Error.WriteLine("Thông điệp Lỗi!"); // Đi tới stderr
    }
}

Kết quả mẫu khi mọi thứ đều ổn:

Thông điệp Đầu ra Chuẩn.

Nhưng, nếu có gì đó không ổn, bạn sẽ thấy:

Thông điệp Đầu ra Chuẩn.
Thông điệp Lỗi!

Thông điệp lỗi xuất hiện trong bảng điều khiển hoặc có thể được chuyển hướng sang một tệp.

Đào Sâu

Về mặt lịch sử, việc phân tách stdout và stderr bắt nguồn từ các hệ thống Unix, nơi nó cho phép xử lý dữ liệu sạch sẽ và xử lý lỗi. Trong C# (và .NET nói chung), Console.Out đại diện cho stdout, trong khi Console.Error đại diện cho stderr.

Bạn có thể chuyển hướng cả hai bằng cách sử dụng Console.SetOut()Console.SetError(). Các luồng như FileStream hoặc StringWriter có thể bắt lại đầu ra cho việc ghi lại. Điều này rất quan trọng trong các tình huống mà thông điệp lỗi không nên lẫn lộn với dữ liệu bình thường, chẳng hạn, khi stdout được ống sang một chương trình khác.

Xem Thêm