C#, как записать в STDERR сообщение об ошибке из консольного приложения.
Пост из серии спрашивали - отвечаем.
Итак, как в C# записать в STDERR
. STDERR
- это стандартный поток вывода для сообщений об ошибках, туда правильно организованные консольные приложения отправляют, собственно, сообщения об ошибках. Отправить в STDERR
сообщение можно с помощью объекта Console.Error
:Console.Error.WriteLine("Write to STDERR.");
static void Main(string[] args)
{
Console.WriteLine("Write to STDOUT.");
Console.Error.WriteLine("Write to STDERR.");
}
Для проверки можно создать BAT-файл, вызывающий тестовое приложение и переопределяющий (копия) вывод со стандартных потоков в файлы
stderr_.txt
и stdout_.txt
. stderr
и stdout
являются зарезервированными системными именами, потому к именам файлов надо что-то добавить, знак _
в данном случае:Экран при выполнении тестового приложения:
Z:\...\write2stderr\write2stderr\bin\Deb ug>write2stderr.exe
Write to STDOUT.
Write to STDERR.
При выполнении BAT-файла экран останется пустым, но в директории с файлом появятся два файла
stderr_.txt
и stdout_.txt
со следующим содержимым.stderr_.txt:
Write to STDERR.
stdout_.txt:
Write to STDOUT.
Исходник
Тестовый BAT-файл
BAT-файл и скомпилированный EXE
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/26/c-ka