На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Выход из программы C# с кодом ошибки


При выходе из программы обычно возвращается целочисленное значение, указывающее на состояние закрытия. Если программа закрыта нормально, то это значение обычно равно нулю. Другие значения обычно содержат коды ошибок, которые позволяют программисту идентифицировать проблему.

Код завершения

Когда вы создаете программное обеспечение, предназначенное для вызова другими программами, вы можете решить вернуть целочисленный код выхода. Это особенно часто встречается для консольных приложений, которые могут быть вызваны из командной строки или из пакетного файла. Обычно возврат нулевого кода выхода указывает на то, что программа работала правильно и вышла без ошибок. Все остальные значения обычно обозначают коды ошибок. Они могут быть проверены вызывающей программой или скриптом, чтобы можно было предпринять соответствующие действия по решению проблемы.

Чтобы вернуть код выхода, вам просто нужно установить значение статического свойства класса Environment. Свойство, о котором идет речь, - это ExitCode. Поскольку значение ExitCode по умолчанию равно нулю, вы обычно меняете его только для указания состояния сбоя.

Чтобы продемонстрировать это, создайте новый проект консольного приложения с именем "ExitCodeDemo". Замените автоматически сгенерированный основной метод кодом, показанным ниже. Это создает программу, которая получает целочисленное значение с помощью аргумента командной строки. Если значение может быть преобразовано в целое число, то оно увеличивается и результат применяется к свойству ExitCode до того, как программа остановится.

static void Main(string[] args)
{
    int exitCode = 0;
    bool ok = args.Length > 0 && int.TryParse(args[0], out exitCode);
    Environment.ExitCode = exitCode + 1;
}
Сохраните проект и скомпилируйте его, чтобы создать исполняемый файл. После компиляции можно закрыть Visual Studio. Теперь мы создадим пакетный файл, который вызывает программу .NET и считывает код выхода. Создайте новый текстовый файл с помощью блокнота или аналогичного текстового редактора. Добавьте в файл следующие команды скрипта:

@echo off
ExitCodeDemo 99
echo The exit code was %ERRORLEVEL%.
Скрипт вызывает исполняемый файл консольного приложения, передавая значение 99. Поэтому мы должны ожидать, что программа завершит работу с кодом выхода 100. Этот код извлекается с помощью значения %ERRORLEVEL% в последней строке. Сохраните пакетный файл в той же папке, что и скомпилированный исполняемый файл, назвав его "ExitDemo.bat". Убедитесь, что текстовый редактор не добавляет никаких других расширений имен файлов

Тестирование кода выхода

Теперь вы можете попробовать запустить пакетный файл, чтобы проверить результат. Откройте новое окно командной строки и измените каталог на папку, содержащую пакетный файл и исполняемый файл. Запустите пакетный файл, введя следующую команду и нажав клавишу Enter.

ExitDemo
Пакетный файл запускает исполняемый файл и отображает сообщение, содержащее код выхода. Результат должен выглядеть следующим образом:

The exit code was 100.




Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, си шарп





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Метод reduce в JavaScript
Уроки по параллельному программированию C#


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.