Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Уроки Visual C# для чайников arrow Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.
26.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Visual C# для чайников. Урок 9. Обработка исключений. Продолжение. Печать E-mail
Автор megabax   
12.01.2012 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.

На прошлом уроке мы начали изучать обработку исключений. Сегодня мы продолжим тему. Пример прошлого урока имеет один небольшой недостаток: если мы вместо числа введем буквы, то наша программа завершиться со страшным сообщением:

Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.

Что бы при неверном вводе (буква вместо цифры) программа выдавала осмысленное сообщение об ошибке, перепишем у нее функцию main:

        static void Main(string[] args)

        {

            try

            {

                Console.Write("x=");

                int x = int.Parse(Console.ReadLine());

                Console.Write("y=");

                int y = int.Parse(Console.ReadLine());

                Console.Write("z=");

                int z = int.Parse(Console.ReadLine());

                M2(x, y, z);

            }

            catch(Exception ex)

            {

                Console.WriteLine("Исключение "+ex.GetType().Name+" "+ex.Message);

            }

            Console.ReadLine();

        }

как видим, мы просто тупо взяли кусок программы в try ... catch. теперь при ошибочном вводе она будет ругаться вот так:

Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.

И, напоследок, что бы закончить тему исключений, скажу, что программист может сам вызвать исключение. Например, значение какой либо переменной должно быть в допустимом пределе. Что бы проконтролировать это и вызвать аварийное завершение программы, можно воспользоваться такой вот конструкцией:

            Console.Write("Введите число от 1 до 10 ");

            int x = int.Parse(Console.ReadLine());

            if (x < 1 || x > 10) throw new ArgumentOutOfRangeException("Число должно быть от 1 до 10!!! ");

            Console.ReadLine();

Выполняя данные строки, программа вывалится со страшным сообщением, если пользователь введет число не от 1 до 10:

Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.

Разумеется, если эти строки находятся в какой либо функции, то его так же можно "перехватить", поместив эту функцию в try ... catch:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

 

 

    class Program

    {

        static void Proba()

        {

            Console.Write("Введите число от 1 до 10 ");

            int x = int.Parse(Console.ReadLine());

            if (x < 1 || x > 10) throw new ArgumentOutOfRangeException("Число должно быть от 1 до 10!!! ");

        }

 

        static void Main(string[] args)

        {

            try

            {

                Proba();

            }

            catch (ArgumentOutOfRangeException e)

            {

                Console.Write("Исключительная ситуация: "+e.Message);

            }

            Console.ReadLine();

        }

    }

}

И вот результат работы программы, если пользователь введет число не из диапазона:

Visual C# для чайников. Урок 9. Обработка исключений. Продолжение.

 

 

(С) Шуравин Александр

 

Последнее обновление ( 27.05.2014 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги