Выйти из программы при отлове ошибки в C #? - PullRequest
4 голосов
/ 11 февраля 2011

С Python я обычно проверяю возвращаемое значение. И, если есть ошибка, я использую sys.exit() вместе с сообщением об ошибке.

Что такое эквивалентное действие в C #?

  • Q1: Как распечатать сообщение об ошибке в поток stderr?
  • Q2: Как вызвать функцию system.exit () в C #?
  • Q3: Как обычно программисты на C # обрабатывают ошибки? Вызывать и ловить исключения? Или просто получить возвращаемое значение и выйти ()?

Ответы [ 2 ]

6 голосов
/ 11 февраля 2011

Q1: в C # необходимо использовать System.Console.xxx для доступа к потокам для ввода, вывода и ошибок: System.Console.Error - это стандартная ошибка, в которую вы можете записать.

http://msdn.microsoft.com/en-us/library/system.console.aspx

Q2: вы выходите с:

System.Environment.Exit( exitCode );

http://msdn.microsoft.com/en-us/library/system.environment.exit.aspx

Q3: Да, программисты на C # вызывают (генерируют) исключения (объекты классов, производных от класса Exception) и отлавливают их в вызывающих программах верхнего уровня.

Если вы хотите отлавливать ошибки во всей программе, вы просто инкапсулируете всю процедуру main () в try ... catch:

class App {
    public static void Main(String[] args)
    {
        try {
            <your code here>
        } catch(Exception exc) {
            <exception handling here>
        }
        finally {
            <clean up, when needed, here>
        }
    }
}

Надеюсь, это поможет.

3 голосов
/ 11 февраля 2011

Обычно вы просто не ловите исключения, с которыми не можете справиться..NET позаботится о том, чтобы убить ваш процесс за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...