Информационый портал Windows 7

У нас вы можете скачать драйвера и программы, найти красивые темы и обои, учебные материалы, а также получить консультации и многое другое.

  • главная
  • контакты
  • карта сайта
 
Программирование » Уроки по C# для начинающих »

Приложение 4. Обработка исключительных ситуаций в языке C#.

 
   Для обработки исключительных ситуаций в языке C# есть хорошая и очень удобная в использовании форма:
try{…}
catch(<переменная>){…}
finally{…}


   В блоке try{…} мы помещаем код, в котором, по нашему мнению, может произойти ошибка, приводящая к аварийной остановке приложения.

   Теперь при возникновении ошибки внутри блока try{…}, приложение не будет остановлено, а управление будет передано блоку catch(переменная){…}. Причём переменная возвращает данные об ошибке. Естественно, если переменная не объявлена, можно объявить её заранее или в самом блоке:
catch(<тип переменной> <переменная>){…}


   Блок finally{…} служит для закрытия обработчика ошибок. Здесь мы исправляем код, который привёл к ошибке, обнуляем переменные и т.д., чтобы можно было вернуться к вводу данных или продолжить вычисления без остановке приложения

   Например:
int i=0;
try
{
   i=Convert.ToInt32(textBoxConsole.Text);
}
catch
{
   if(textBoxConsole.Text.Length<1)i=0;
   else
   if(textBoxConsole.Text.IndexOf(“,”)>0)i=(int) Convert.ToDouble(textBoxConsole.Text);
   else
   MessageBox.Show(“нужно ввести целое число”);
}
finally
{
   textBoxConsole.Text=””;
}


   Здесь приведён пример разбора данных, вводимых пользователем в поле textBoxConsole.

   Ошибка возникает в трёх случаях:

   1. Пользователь ничего не ввёл – тогда принимаем
i=0


   2. Пользователь ввёл число с плавающей точкой – вытаскиваем число из строки и приводим его к целочисленному типу
i=(int) Convert.ToDouble(textBoxConsole.Text)


   3. Пользователь ввёл слово или букву – выводим сообщение
MessageBox.Show(“нужно ввести целое число”)


   В последнем блоке очищаем текстовое поле
textBoxConsole.Text=””

чтобы пользователь мог работать дальше.

   В принципе, блок catch(переменная){…} или finally{…} может отсутствовать.

   Можно сразу перейти к блоку finally{…} и очистить переменные, а можно обойтись без него, если в чистке переменных нет необходимости.







     Жду отзывов и предложений


     К списку статей



     DiamondTigeR

     
Приложение 4. Обработка исключительных ситуаций в языке C#.



Автор: d.tiger. Дата: 28-01-2012, 18:11

Просмотров: 3005

В избранное:

Уважаемый посетитель, для доступа к ресурсам сайта OS-7.RU, а также для скачивания материалов - Вам необходимо зарегистрироваться либо войти под своим именем.







 (голосов: 0)
Комментарии (0) Распечатать